當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]本文分析了適用于測(cè)控領(lǐng)域的4種實(shí)時(shí)操作系統(tǒng),并對(duì)比了它們實(shí)時(shí)性能的重要指標(biāo),歸納了實(shí)時(shí)性設(shè)計(jì)和實(shí)現(xiàn)中的若干問(wèn)題。

摘 要: 本文分析了適用于測(cè)控領(lǐng)域的4種實(shí)時(shí)操作系統(tǒng),并對(duì)比了它們實(shí)時(shí)性能的重要指標(biāo),歸納了實(shí)時(shí)性設(shè)計(jì)和實(shí)現(xiàn)中的若干問(wèn)題。

引言

20世紀(jì)70年代以來(lái)嵌入式系統(tǒng)的硬件和軟件技術(shù)的飛速進(jìn)步,使得嵌入式應(yīng)用得到了蓬勃發(fā)展,在這些應(yīng)用中實(shí)時(shí)操作系統(tǒng)起著決定性的作用。

在復(fù)雜測(cè)控應(yīng)用中,必須使用對(duì)實(shí)時(shí)性要求非常高的實(shí)時(shí)操作系統(tǒng)。例如在工業(yè)控制、交通管理、機(jī)器人、航空航天、武器裝備等領(lǐng)域,系統(tǒng)事件的響應(yīng)如果不能準(zhǔn)時(shí)或超時(shí),就可能導(dǎo)致巨大的損失和災(zāi)難。因而,選擇操作系統(tǒng)時(shí),對(duì)實(shí)時(shí)性的仔細(xì)考慮至關(guān)重要。本文從實(shí)時(shí)性的角度細(xì)致的分析對(duì)比了適用于此類(lèi)有苛刻實(shí)時(shí)性要求的4種操作系統(tǒng)——VxWorks、mC/OS-II、RT-Linux、QNX,為系統(tǒng)選型提供一定參考。

實(shí)時(shí)性能主要實(shí)現(xiàn)技術(shù)

實(shí)時(shí)操作系統(tǒng)的實(shí)時(shí)性是第一要求,需要調(diào)度一切可利用的資源完成實(shí)時(shí)任務(wù)。根據(jù)響應(yīng)時(shí)間在微秒、毫秒和秒級(jí)的不同,可分為強(qiáng)實(shí)時(shí)、準(zhǔn)實(shí)時(shí)和弱實(shí)時(shí)三種。強(qiáng)實(shí)時(shí)系統(tǒng)必須是對(duì)即時(shí)的事件作出反應(yīng),絕對(duì)不能錯(cuò)過(guò)事件處理時(shí)限。例如測(cè)控領(lǐng)域就是要求強(qiáng)或接近強(qiáng)實(shí)時(shí)系統(tǒng)。在機(jī)頂盒、PDA、信息家電等應(yīng)用領(lǐng)域,系統(tǒng)負(fù)荷較重的時(shí)候,允許發(fā)生錯(cuò)過(guò)時(shí)限的情況而且不會(huì)造成太大的危害,準(zhǔn)和弱實(shí)時(shí)系統(tǒng)就可滿(mǎn)足應(yīng)用。一個(gè)強(qiáng)實(shí)時(shí)的操作系統(tǒng)通常使用以下技術(shù):

● 占先式內(nèi)核

當(dāng)系統(tǒng)時(shí)間響應(yīng)很重要時(shí),要使用占先式內(nèi)核。當(dāng)前最高優(yōu)先級(jí)的任務(wù)一旦就緒,總能立即得到CPU的控制權(quán),而CPU的控制權(quán)是可知的。使用占先式內(nèi)核使得任務(wù)級(jí)響應(yīng)時(shí)間得以最優(yōu)化。

● 調(diào)度策略分析

任務(wù)調(diào)度策略是直接影響實(shí)時(shí)性能的因素。強(qiáng)實(shí)時(shí)系統(tǒng)和準(zhǔn)實(shí)時(shí)系統(tǒng)的實(shí)現(xiàn)區(qū)別主要在選擇調(diào)度算法上。選擇基于優(yōu)先級(jí)調(diào)度的算法足以滿(mǎn)足準(zhǔn)實(shí)時(shí)系統(tǒng)的要求,而且可以提供高速的響應(yīng)和大的系統(tǒng)吞吐率。當(dāng)兩個(gè)或兩個(gè)以上任務(wù)有同樣優(yōu)先級(jí),通常用時(shí)間片輪轉(zhuǎn)法進(jìn)行調(diào)度。對(duì)硬實(shí)時(shí)系統(tǒng)而言,需要使用的算法就應(yīng)該是調(diào)度方式簡(jiǎn)單,反應(yīng)速度快的實(shí)時(shí)調(diào)度算法了。盡管調(diào)度算法多種多樣,但大多由單一比率調(diào)度算法(RMS)和最早期限優(yōu)先算法(EDF)變化而來(lái)。前者主要用于靜態(tài)周期任務(wù)的調(diào)度,后者主要用于動(dòng)態(tài)調(diào)度,在不同的系統(tǒng)狀態(tài)下兩種算法各有優(yōu)劣。在商業(yè)產(chǎn)品中采用的實(shí)際策略常常是各種因素的折中。

● 任務(wù)優(yōu)先級(jí)分配

每個(gè)任務(wù)都有其優(yōu)先級(jí)。任務(wù)越重要,賦予的優(yōu)先級(jí)應(yīng)越高。應(yīng)用程序執(zhí)行過(guò)程中諸任務(wù)優(yōu)先級(jí)不變,則稱(chēng)之為靜態(tài)優(yōu)先級(jí)。在靜態(tài)優(yōu)先級(jí)系統(tǒng)中,諸任務(wù)以及它們的時(shí)間約束在程序編譯時(shí)是已知的。反之,應(yīng)用程序執(zhí)行過(guò)程中,任務(wù)的優(yōu)先級(jí)是可變的,則稱(chēng)之為動(dòng)態(tài)優(yōu)先級(jí)。

● 時(shí)間的可確定性

強(qiáng)實(shí)時(shí)操作系統(tǒng)的函數(shù)調(diào)用與服務(wù)的執(zhí)行時(shí)間應(yīng)具有可確定性。系統(tǒng)服務(wù)的執(zhí)行時(shí)間不依賴(lài)于應(yīng)用程序任務(wù)的多少。系統(tǒng)完成某個(gè)確定任務(wù)的時(shí)間是可預(yù)測(cè)的。

實(shí)時(shí)性能重要指標(biāo)

衡量實(shí)時(shí)操作系統(tǒng)實(shí)時(shí)性能的重要指標(biāo)有:

● 任務(wù)切換時(shí)間

當(dāng)多任務(wù)內(nèi)核決定運(yùn)行另外的任務(wù)時(shí),它把正在運(yùn)行任務(wù)的當(dāng)前狀態(tài)(即CPU寄存器中的全部?jī)?nèi)容)保存到任務(wù)自己的棧區(qū)之中。然后把下一個(gè)將要運(yùn)行的任務(wù)的當(dāng)前狀態(tài)從該任務(wù)的棧中重新裝入CPU的寄存器,并開(kāi)始下一個(gè)任務(wù)的運(yùn)行。這個(gè)過(guò)程就稱(chēng)為任務(wù)切換。做任務(wù)切換所需要的時(shí)間取決于CPU有多少寄存器要入棧。CPU的寄存器越多,額外負(fù)荷就越重。

● 中斷響應(yīng)時(shí)間(可屏蔽中斷)

計(jì)算機(jī)接收到中斷信號(hào)到操作系統(tǒng)作出響應(yīng),并完成切換轉(zhuǎn)入中斷服務(wù)程序的時(shí)間。對(duì)于占先式內(nèi)核,要先調(diào)用一個(gè)特定的函數(shù),該函數(shù)通知內(nèi)核即將進(jìn)行中斷服務(wù),使得內(nèi)核可以跟蹤中斷的嵌套。占先式內(nèi)核的中斷響應(yīng)時(shí)間由下式給出:

中斷響應(yīng)時(shí)間=關(guān)中斷的最長(zhǎng)時(shí)間
+保護(hù)CPU內(nèi)部寄存器的時(shí)間
+進(jìn)入中斷服務(wù)函數(shù)的執(zhí)行時(shí)間
+開(kāi)始執(zhí)行中斷服務(wù)例程(ISR)的第一條指令時(shí)間

中斷響應(yīng)時(shí)間是系統(tǒng)在最壞情況下響應(yīng)中斷的時(shí)間,某系統(tǒng)100次中有99次在50ms之內(nèi)響應(yīng)中斷,只有一次響應(yīng)中斷的時(shí)間是250ms,只能認(rèn)為中斷響應(yīng)時(shí)間是250ms。

表2列出了部分體現(xiàn)實(shí)時(shí)性能重要指標(biāo)的典型值,它們的測(cè)試平臺(tái)和測(cè)試方法不完全相同,影響了數(shù)據(jù)的可比性,但我們?nèi)钥勺鳛閰⒖肌?br />
另外,還有系統(tǒng)響應(yīng)時(shí)間(系統(tǒng)發(fā)出處理要求到系統(tǒng)給出應(yīng)答信號(hào)的時(shí)間)、最長(zhǎng)關(guān)中斷時(shí)間、非屏蔽中斷響應(yīng)時(shí)間等輔助的衡量指標(biāo)。

若干問(wèn)題

雖然當(dāng)今的實(shí)時(shí)操作系統(tǒng)已日臻完善,但仍有一些問(wèn)題存在并干擾著強(qiáng)實(shí)時(shí)的實(shí)現(xiàn)。我們應(yīng)充分的重視,并通過(guò)合理的安排程序減少它們的危害。

● 優(yōu)先級(jí)反轉(zhuǎn)

這是實(shí)時(shí)系統(tǒng)中出現(xiàn)得最多的問(wèn)題。優(yōu)先級(jí)反轉(zhuǎn)是指一個(gè)任務(wù)等待比它優(yōu)先級(jí)低的任務(wù)釋放資源而被阻塞,如果這時(shí)有中等優(yōu)先級(jí)的就緒任務(wù),阻塞會(huì)進(jìn)一步惡化。它嚴(yán)重影響了實(shí)時(shí)任務(wù)的完成。

為防止發(fā)生優(yōu)先級(jí)反轉(zhuǎn),一些商業(yè)內(nèi)核(如VxWorks)使用了優(yōu)先級(jí)繼承技術(shù),當(dāng)優(yōu)先級(jí)反轉(zhuǎn)發(fā)生時(shí),優(yōu)先級(jí)較低的任務(wù)被暫時(shí)地提高它的優(yōu)先級(jí),使得該任務(wù)能盡快執(zhí)行,釋放出優(yōu)先級(jí)較高的任務(wù)所需要的資源。但它也不能完全避免優(yōu)先級(jí)反轉(zhuǎn),只能稱(chēng)其減輕了優(yōu)先級(jí)反轉(zhuǎn)的程度,減輕了優(yōu)先級(jí)反轉(zhuǎn)對(duì)實(shí)時(shí)任務(wù)完成的影響。

優(yōu)先權(quán)極限是另一種解決方案,系統(tǒng)把每一個(gè)臨界資源與1個(gè)極限優(yōu)先權(quán)相聯(lián)系,這個(gè)極限優(yōu)先權(quán)等于系統(tǒng)此時(shí)最高優(yōu)先權(quán)加1。當(dāng)這個(gè)任務(wù)退出臨界區(qū)后,系統(tǒng)立即把它的優(yōu)先權(quán)恢復(fù)正常,從而保證系統(tǒng)不會(huì)出現(xiàn)優(yōu)先權(quán)反轉(zhuǎn)的情況。采用這種方案的另一個(gè)有利之處,是僅僅通過(guò)改變某個(gè)臨界資源的優(yōu)先級(jí)就可以使多個(gè)任務(wù)共享這個(gè)臨界資源。

● 任務(wù)執(zhí)行時(shí)間的抖動(dòng)

各種實(shí)時(shí)內(nèi)核都有將任務(wù)延時(shí)若干個(gè)時(shí)鐘節(jié)拍的功能。優(yōu)先級(jí)的不同、延時(shí)請(qǐng)求發(fā)生的時(shí)間、發(fā)出延時(shí)請(qǐng)求的任務(wù)自身的運(yùn)行延遲,都會(huì)造成被延時(shí)任務(wù)執(zhí)行時(shí)間不同程度的提前或滯后,稱(chēng)之為任務(wù)執(zhí)行時(shí)間的抖動(dòng)。可能的解決方案有:a. 增加微處理器的時(shí)鐘頻和時(shí)鐘節(jié)拍的頻率;b. 重新安排任務(wù)的優(yōu)先級(jí);c. 避免使用浮點(diǎn)運(yùn)算等。

強(qiáng)實(shí)時(shí)系統(tǒng)中,我們必須綜合考慮,充分利用各種手段,盡量減少任務(wù)執(zhí)行時(shí)間的抖動(dòng)。

● 任務(wù)劃分

程序在CPU中是以任務(wù)的方式在運(yùn)行,所以我們要將系統(tǒng)的處理框圖轉(zhuǎn)化為多任務(wù)流程圖,對(duì)處理進(jìn)行任務(wù)劃分。任務(wù)劃分存在這樣一對(duì)矛盾:如果任務(wù)太多,必然增加系統(tǒng)任務(wù)切換的開(kāi)銷(xiāo);如果任務(wù)太少,系統(tǒng)的并行度就降低了,實(shí)時(shí)性就比較差。在任務(wù)劃分時(shí)要遵循H.Gomma原則:
a. I/O原則:不同的外設(shè)執(zhí)行不同任務(wù);
b. 優(yōu)先級(jí)原則:不同優(yōu)先級(jí)處理不同的任務(wù);
c. 大量運(yùn)算:歸為一個(gè)任務(wù);
d. 功能耦合:歸為一個(gè)任務(wù);
e. 偶然耦合:歸為一個(gè)任務(wù);
f. 頻率組合:對(duì)于周期時(shí)間,不同任務(wù)處理不同的頻率。
如果我們?cè)诰唧w分析一個(gè)系統(tǒng)的時(shí)候發(fā)生原則沖突的話(huà),則要為每一個(gè)原則針對(duì)具體的系統(tǒng)設(shè)定“權(quán)重”,必要的時(shí)候可以通過(guò)計(jì)算“權(quán)重”來(lái)最終確定如何去劃分任務(wù)。

總結(jié)

VxWorks、mC/OS-II、RT-Linux、QNX都是優(yōu)秀的強(qiáng)實(shí)時(shí)操作系統(tǒng),各有特色:VxWorks的衡量指標(biāo)值最好;mC/OS-II最短小精悍;RT-Linux支持調(diào)度策略的改寫(xiě);QNX支持分布式應(yīng)用。當(dāng)我們充分理解和掌握它們實(shí)現(xiàn)技術(shù)、衡量指標(biāo)的不同,注意所存在的問(wèn)題,就能在實(shí)時(shí)性應(yīng)用中游刃有余。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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