無紙記錄儀實時多任務調(diào)度策略的研究
實時多任務系統(tǒng)應用極其廣泛,幾乎滲透到各行各業(yè),系統(tǒng)分類也很復雜。雖然不同的應用在實現(xiàn)模式上不完全一樣,但核心思想是一致的。在嵌入式系統(tǒng)中,實時多任務機制是依靠啟動之后運行的一段后臺任務管理程序?qū)崿F(xiàn)的。應用程序運行在該管理器程序之上。后臺根據(jù)各個任務的要求,進行資源管理、消息管理、任務調(diào)度、異常處理等工作。其首要目的是調(diào)度一切可利用的資源實現(xiàn)實時控制任務。
本文引用地址:http://2s4d.com/article/150279.htm實時系統(tǒng)主要有兩大類:軟實時系統(tǒng)和硬實時系統(tǒng)。軟實時系統(tǒng)的宗旨是使各個任務運行的越快越好,并不要求限定某一任務必須在多長時間內(nèi)完成。在硬實時系統(tǒng)中,各任務不僅要執(zhí)行無誤而且要做到準時。大多數(shù)實時系統(tǒng)都是二者的結(jié)合。對于一個復雜任務系統(tǒng),任務調(diào)度模式的選用是其系統(tǒng)架構(gòu)的一個重點。無紙記錄儀具有多層次的界面管理和較高的實時響應需求,由此選擇與之相適應的系統(tǒng)任務調(diào)度模式是勢在必行的。
本論文綜合考慮了各任務響應的實時性需求,對任務進行了創(chuàng)造性的調(diào)整,進而將軟實時系統(tǒng)和硬實時系統(tǒng)進行了有機的結(jié)合,規(guī)劃出最為合理的任務調(diào)度模式。
1 記錄儀實時多任務的特點
通常的實時多任務操作系統(tǒng)都比較龐大,對于由單片機(80C320)組成的實時系統(tǒng)是不適用的。由于單片機的運算能力和內(nèi)存有限,要求實時操作系統(tǒng)具有簡單實用、高效可靠的特性。就記錄儀而言,其任務和功能是預知的,則內(nèi)存和文件管理系統(tǒng)可簡化,甚至取消[1]。因為任務對存儲器的要求是明確的,這樣就可以使用固定和獨立的存儲區(qū)域分配方案,無需通過OS來控制和分配。因此,實時多任務操作系統(tǒng)就可以簡化為基于任務調(diào)度與時鐘中斷管理為核心的調(diào)度模塊。記錄儀中的任務狀態(tài)有四種:運行、就緒、等待、掛起,睡眠狀態(tài)并入等待,不再另加以區(qū)分。
2 任務的劃分、組織和調(diào)度
2.1 任務的劃分
在單片機實時多任務系統(tǒng)中,實現(xiàn)實時多任務機制的關鍵在于將系統(tǒng)功能合理地分解成各個任務模塊。劃分任務的原則: 功能相對獨立,并能與其他程序同時執(zhí)行的程序劃分為一個任務。但任務劃分不能太細,否則將增加任務切換的系統(tǒng)開銷,降低系統(tǒng)效率并影響系統(tǒng)響應的實時性。文獻[2]指出,應盡量將關系密切的任務合并,減少任務間的通信。綜合考慮任務的實時性和執(zhí)行時間,記錄儀的十個任務可分為三類:
(1)高優(yōu)先級任務:下位機上傳采樣值的處理,虛擬通道組織,報警處理。這類任務實時性要求高,執(zhí)行時間0.1s,如采樣值處理任務,記錄儀要保存采樣值作為歷史數(shù)據(jù),保存過程中要加上時標,采樣值正確而時標錯誤的記錄是無效的。
(2)低優(yōu)先級任務:按鍵響應、顯示、PID控制、流量積算。這類任務執(zhí)行時間0.2s,任務實時性要求一般。如按鍵響應任務,延遲0.5s是可以容忍的。
(3)后臺任務:存儲、打印、與管理機(PC)通信。這類任務的執(zhí)行時間>1s,對實時性的要求最低。
2.2 任務的組織
系統(tǒng)上電,初始化每個任務的固定任務棧,建立任務隊列狀態(tài)表和任務控制表(TCB),這兩張表是任務調(diào)度的依據(jù)。任務隊列狀態(tài)表由高優(yōu)先級、低優(yōu)先級、后臺任務三張子表組成;任務控制表由任務首地址、狀態(tài)寄存器、任務局部變量三部分組成,數(shù)據(jù)結(jié)構(gòu)見圖1。
評論