當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]無紙記錄儀實時多任務調(diào)度策略的研究

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

  實時系統(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)實時多任務機制的關(guān)鍵在于將系統(tǒng)功能合理地分解成各個任務模塊。劃分任務的原則: 功能相對獨立,并能與其他程序同時執(zhí)行的程序劃分為一個任務。但任務劃分不能太細,否則將增加任務切換的系統(tǒng)開銷,降低系統(tǒng)效率并影響系統(tǒng)響應的實時性。文獻[2]指出,應盡量將關(guān)系密切的任務合并,減少任務間的通信。綜合考慮任務的實時性和執(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。

  

[!--empirenews.page--]
2.3 基于消息驅(qū)動機制的任務調(diào)度

 

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

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

  3 實時多任務調(diào)度策略

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

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

  

 

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

  搶占式和非搶占式的復合多任務調(diào)度策略已成功應用于某記錄儀,達到了預期的目標。

  首先,軟件設計模塊化,不同的功能模塊編制成相應的任務,由調(diào)度模塊按優(yōu)先級別調(diào)用。而且兼顧了高優(yōu)先級任務的實時性和系統(tǒng)運行的高效性。這樣,大大降低了系統(tǒng)的故障率。低優(yōu)先級任務發(fā)生阻塞時,高優(yōu)先級任務的執(zhí)行不受其影響。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉