無(wú)紙記錄儀實(shí)時(shí)多任務(wù)調(diào)度策略的研究
實(shí)時(shí)多任務(wù)系統(tǒng)應(yīng)用極其廣泛,幾乎滲透到各行各業(yè),系統(tǒng)分類也很復(fù)雜。雖然不同的應(yīng)用在實(shí)現(xiàn)模式上不完全一樣,但核心思想是一致的。在嵌入式系統(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ù)。
本文引用地址:http://cafeforensic.com/article/150279.htm實(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ú)需通過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)開銷,降低系統(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ù),保存過程中要加上時(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ù)局部變量三部分組成,數(shù)據(jù)結(jié)構(gòu)見圖1。
評(píng)論