《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 解決方案 > 記錄儀多任務(wù)調(diào)度模式規(guī)劃

記錄儀多任務(wù)調(diào)度模式規(guī)劃

2011-08-17
關(guān)鍵詞: 記錄儀 任務(wù)調(diào)度

  實(shí)時(shí)多任務(wù)系統(tǒng)應(yīng)用極其廣泛,,幾乎滲透到各行各業(yè),,系統(tǒng)分類也很復(fù)雜。在嵌入式系統(tǒng)中,,實(shí)時(shí)多任務(wù)機(jī)制是依靠啟動(dòng)之后運(yùn)行的一段后臺(tái)任務(wù)管理程序?qū)崿F(xiàn)的。應(yīng)用程序運(yùn)行在該管理器程序之上,。后臺(tái)根據(jù)各個(gè)任務(wù)的要求,,進(jìn)行資源管理、消息管理,、任務(wù)調(diào)度,、異常處理等工作。其首要目的是調(diào)度一切可利用的資源實(shí)現(xiàn)實(shí)時(shí)控制任務(wù),。

  實(shí)時(shí)系統(tǒng)主要有兩大類:軟實(shí)時(shí)系統(tǒng)和硬實(shí)時(shí)系統(tǒng),。軟實(shí)時(shí)系統(tǒng)的宗旨是使各個(gè)任務(wù)運(yùn)行的越快越好,并不要求限定某一任務(wù)必須在多長(zhǎng)時(shí)間內(nèi)完成,。在硬實(shí)時(shí)系統(tǒng)中,,各任務(wù)不僅要執(zhí)行無(wú)誤而且要做到準(zhǔn)時(shí),。大多數(shù)實(shí)時(shí)系統(tǒng)都是二者的結(jié)合。對(duì)于一個(gè)復(fù)雜任務(wù)系統(tǒng),,任務(wù)調(diào)度模式的選用是其系統(tǒng)架構(gòu)的一個(gè)重點(diǎn),。無(wú)紙記錄儀具有多層次的界面管理和較高的實(shí)時(shí)響應(yīng)需求,由此選擇與之相適應(yīng)的系統(tǒng)任務(wù)調(diào)度模式是勢(shì)在必行的,。

  本論文綜合考慮了各任務(wù)響應(yīng)的實(shí)時(shí)性需求,,對(duì)任務(wù)進(jìn)行了創(chuàng)造性的調(diào)整,進(jìn)而將軟實(shí)時(shí)系統(tǒng)和硬實(shí)時(shí)系統(tǒng)進(jìn)行了有機(jī)的結(jié)合,,規(guī)劃出最為合理的任務(wù)調(diào)度模式,。

  1 記錄儀實(shí)時(shí)多任務(wù)的特點(diǎn)

  通常的實(shí)時(shí)多任務(wù)操作系統(tǒng)都比較龐大,對(duì)于由單片機(jī)(80C320)組成的實(shí)時(shí)系統(tǒng)是不適用的,。由于單片機(jī)的運(yùn)算能力和內(nèi)存有限,,要求實(shí)時(shí)操作系統(tǒng)具有簡(jiǎn)單實(shí)用、高效可靠的特性,。就記錄儀而言,,其任務(wù)和功能是預(yù)知的,則內(nèi)存和文件管理系統(tǒng)可簡(jiǎn)化,,甚至取消[1],。因?yàn)槿蝿?wù)對(duì)存儲(chǔ)器的要求是明確的,這樣就可以使用固定和獨(dú)立的存儲(chǔ)區(qū)域分配方案,,無(wú)需通過(guò)OS來(lái)控制和分配,。因此,實(shí)時(shí)多任務(wù)操作系統(tǒng)就可以簡(jiǎn)化為基于任務(wù)調(diào)度與時(shí)鐘中斷管理為核心的調(diào)度模塊,。記錄儀中的任務(wù)狀態(tài)有四種:運(yùn)行,、就緒、等待,、掛起,,睡眠狀態(tài)并入等待,不再另加以區(qū)分,。

  2 任務(wù)的劃分,、組織和調(diào)度

  2.1 任務(wù)的劃分

  在單片機(jī)實(shí)時(shí)多任務(wù)系統(tǒng)中,實(shí)現(xiàn)實(shí)時(shí)多任務(wù)機(jī)制的關(guān)鍵在于將系統(tǒng)功能合理地分解成各個(gè)任務(wù)模塊,。劃分任務(wù)的原則:功能相對(duì)獨(dú)立,,并能與其他程序同時(shí)執(zhí)行的程序劃分為一個(gè)任務(wù)。但任務(wù)劃分不能太細(xì),,否則將增加任務(wù)切換的系統(tǒng)開(kāi)銷,,降低系統(tǒng)效率并影響系統(tǒng)響應(yīng)的實(shí)時(shí)性。文獻(xiàn)[2]指出,,應(yīng)盡量將關(guān)系密切的任務(wù)合并,,減少任務(wù)間的通信,。綜合考慮任務(wù)的實(shí)時(shí)性和執(zhí)行時(shí)間,記錄儀的十個(gè)任務(wù)可分為三類:

  (1)高優(yōu)先級(jí)任務(wù):下位機(jī)上傳采樣值的處理,,虛擬通道組織,,報(bào)警處理。這類任務(wù)實(shí)時(shí)性要求高,,執(zhí)行時(shí)間<0.1s,,如采樣值處理任務(wù),記錄儀要保存采樣值作為歷史數(shù)據(jù),,保存過(guò)程中要加上時(shí)標(biāo),采樣值正確而時(shí)標(biāo)錯(cuò)誤的記錄是無(wú)效的,。

  (2)低優(yōu)先級(jí)任務(wù):按鍵響應(yīng),、顯示、PID控制,、流量積算,。這類任務(wù)執(zhí)行時(shí)間<0.2s,任務(wù)實(shí)時(shí)性要求一般,。如按鍵響應(yīng)任務(wù),,延遲0.5s是可以容忍的。

  (3)后臺(tái)任務(wù):存儲(chǔ),、打印,、與管理機(jī)(PC)通信。這類任務(wù)的執(zhí)行時(shí)間>1s,,對(duì)實(shí)時(shí)性的要求最低,。

  2.2 任務(wù)的組織

  系統(tǒng)上電,初始化每個(gè)任務(wù)的固定任務(wù)棧,,建立任務(wù)隊(duì)列狀態(tài)表和任務(wù)控制表(TCB),,這兩張表是任務(wù)調(diào)度的依據(jù)。任務(wù)隊(duì)列狀態(tài)表由高優(yōu)先級(jí),、低優(yōu)先級(jí),、后臺(tái)任務(wù)三張子表組成;任務(wù)控制表由任務(wù)首地址、狀態(tài)寄存器,、任務(wù)局部變量三部分組成,。

  2.3 基于消息驅(qū)動(dòng)機(jī)制的任務(wù)調(diào)度

  借鑒面向?qū)ο蟪绦蛟O(shè)計(jì)的思想,在記錄儀程序中引入消息概念,,將任務(wù)的執(zhí)行條件轉(zhuǎn)換為消息,,由消息對(duì)相應(yīng)的任務(wù)進(jìn)行激活,并由任務(wù)調(diào)度模塊實(shí)現(xiàn)調(diào)度,。消息定義為:當(dāng)某個(gè)事件(如中斷或某任務(wù)完成)發(fā)生時(shí),,事件處理程序設(shè)置相應(yīng)的標(biāo)志,,不同的標(biāo)志代表不同的消息。事件處理程序可以是中斷服務(wù)程序,,也可以是執(zhí)行后需設(shè)置的標(biāo)志的任務(wù),,因此,記錄儀中任務(wù)的調(diào)度是基于消息機(jī)制來(lái)驅(qū)動(dòng)的,。消息在多任務(wù)程序中的作用相當(dāng)于橋梁,,使任務(wù)間既相互獨(dú)立又有機(jī)關(guān)聯(lián),任務(wù)之間不能直接調(diào)用,,需借助消息,,由任務(wù)調(diào)度模塊實(shí)施。

  中斷服務(wù)程序由中斷消息(標(biāo)志)處理程序和中斷任務(wù)處理程序兩部分組成,,前者僅僅完成消息(標(biāo)志)處理就退出中斷,,而中斷真正要完成的操作,是在任務(wù)調(diào)度模塊的協(xié)調(diào)下,,由中斷任務(wù)處理程序來(lái)完成,。如按下顯示,則按鍵中斷消息處理程序只產(chǎn)生一個(gè)按鍵消息(標(biāo)志)就退出中斷,,而調(diào)度模塊依據(jù)按鍵消息,,調(diào)用按鍵中斷任務(wù)處理程序獲取鍵值,并產(chǎn)生顯示消息,。調(diào)度模塊依據(jù)顯示消息,,調(diào)用顯示任務(wù)程序。

  3 實(shí)時(shí)多任務(wù)調(diào)度策略

  多任務(wù)的系統(tǒng),,通常采用內(nèi)核來(lái)管理各個(gè)任務(wù),,也就是通過(guò)內(nèi)核為每個(gè)任務(wù)分配CPU時(shí)間,并負(fù)責(zé)任務(wù)之間的通信,。根據(jù)任務(wù)的調(diào)度機(jī)制,,可以分為非占先式內(nèi)核和占先式內(nèi)核。前者要求每個(gè)任務(wù)能夠主動(dòng)釋放CPU等資源,,后者則支持對(duì)當(dāng)前任務(wù)的CPU使用權(quán)的剝奪,,從而使更高優(yōu)先級(jí)就緒任務(wù)得到CPU控制權(quán)進(jìn)而執(zhí)行。

  嵌入式系統(tǒng)采用何種調(diào)度策略,,通常要考慮三個(gè)因素:系統(tǒng)的處理能力,,任務(wù)的數(shù)目,系統(tǒng)對(duì)響應(yīng)時(shí)間和執(zhí)行效率的要求,。搶占式調(diào)度能改善高優(yōu)先級(jí)任務(wù)的實(shí)時(shí)性,,但系統(tǒng)開(kāi)銷較大;非搶占式調(diào)度恰好與搶占式相反。針對(duì)記錄儀,,提出搶占式和非搶占式的復(fù)合多任務(wù)調(diào)度策略,。記錄儀的正常工作周期為1s,,調(diào)度模塊的工作周期亦為1s,并將1s分為三個(gè)時(shí)段:0s-0.5s,,0.5-0.8s,,0.8s-1s,實(shí)時(shí)時(shí)鐘在0s,, 0.5s,, 0.8s各產(chǎn)生一次中斷,將Time-flag分別設(shè)置為0,,5,,8,并將Attemper-flag置為0,。

  在記錄儀一個(gè)工作周期(1s)內(nèi),,復(fù)合調(diào)度策略,允許高優(yōu)先級(jí)任務(wù)三次搶占低優(yōu)先級(jí)和后臺(tái)任務(wù),,而低優(yōu)先級(jí)任務(wù)具有兩次搶占后臺(tái)任務(wù)的權(quán)力,。因此,,高優(yōu)先級(jí)任務(wù)的響應(yīng)時(shí)間t&le;0.5s,,低優(yōu)先級(jí)任務(wù)的響應(yīng)時(shí)間t&le;0.7s。由于搶占的次數(shù)有限,,所以任務(wù)切換開(kāi)銷不大,,有利于提高系統(tǒng)效率。

  搶占式和非搶占式的復(fù)合多任務(wù)調(diào)度策略已成功應(yīng)用于某記錄儀,,達(dá)到了預(yù)期的目標(biāo),。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。