複製鏈接
請複製以下鏈接發送給好友

嵌入式實時多任務操作系統

鎖定
嵌入式操作系統是一種系統軟件,包括與硬件相關的底層驅動軟件、系統內核、設備驅動接口、通信協議、圖形界面、標準化瀏覽器等。嵌入式實時多任務操作系統是指能及時(或即時)響應外部事件的請求,在規定的時間內完成對該事件的處理,並控制所有實時任務協調一致地運行的嵌入式操作系統。
中文名
嵌入式實時多任務操作系統
外文名
Embedded real-time multitask operating system
學    科
計算機科學技術
特    點
及時性、交互性、可靠性
有關術語
嵌入式操作系統
應用領域
生物醫學儀器、智能汽車

嵌入式實時多任務操作系統簡介

嵌入式實時多任務操作系統會按照排序運行、管理系統資源,併為開發應用程序提供一致的基礎,具有多路性、獨立性、及時性、交互性、可靠性的特點。嵌入式實時多任務操作系統與一般的嵌入式操作系統相比,最大的特色就是其“實時性”,也就是説,如果有一個任務需要執行,實時操作系統會馬上(在較短時間內)執行該任務,不會有較長的延時。這種特性保證了各個任務的及時執行。設計嵌入式實時多任務操作系統的首要目標不是高的吞吐量,而是保證任務在特定時間內完成,因此衡量一個嵌入式實時多任務操作系統堅固性的重要指標,是系統從接收一個任務,到完成該任務所需的時間,其時間的變化稱為抖動。可以依抖動將嵌入式實時多任務操作系統分為兩種:硬實時操作系統及軟實時操作系統,硬實時操作系統比軟實時操作系統有更少的抖動:硬實時操作系統必須使任務在確定的時間內完成。軟實時操作系統能讓絕大多數任務在確定時間內完成。
嵌入式實時多任務操作系統在的嵌入式應用中用得越來越廣泛,尤其在功能複雜、系統龐大的應用中顯得愈來愈重要。首先,嵌入式實時操作系統提高了系統的可靠性。在控制系統中,出於安全方面的考慮,要求系統起碼不能崩潰,而且還要有自愈能力。不僅要求在硬件設計方面提高系統的可靠性和抗干擾性,而且也應在軟件設計方面提高系統的抗干擾性,儘可能地減少安全漏洞和不可靠的隱患。

嵌入式實時多任務操作系統設計原則

按照系統對時間限制的滿足程度,實時系統可分為硬實時(Hard Real Time)系統和軟實時(Soft Real Time)系統。硬實時系統是指那些對每個任務調度時間要求非常嚴格的系統,如果不滿足時間限制的要求,則會對系統帶來毀滅性的後果。軟實時系統是指那些對每個任務調度時間要求不是很嚴格的系統,即使超過了時間限制的要求,也不會對系統帶來毀滅性的後果。
實時操作系統所遵循的最重要的設計原則是:採用各種算法和策略,始終保證系統行為的可預測性(predictability)。可預測性是指在系統運行的任何時刻,在任何情況下,實時操作系統的資源調配策略都能為爭奪資源(包括CPU、內存網絡帶寬等)的多個實時任務合理地分配資源,使每個實時任務的實時性要求都能得到滿足。與通用操作系統不同,實時操作系統注重的不是系統的平均表現,而是要求每個實時任務在最壞情況下都要滿足其實時性要求。也就是説,實時操作系統注重的是個體表現,更準確地講是個體最壞情況的表現。舉例來説,如果實時操作系統採用標準的虛存技術,則一個實時任務執行的最壞情況是每次訪存都需要調頁,如此累計起來的該任務在最壞情況下的運行時間是不可預測的,因此該任務的實時性無法得到保證。由於實時操作系統與通用操作系統的基本設計原則差別很大,因此在很多資源調度策略的選擇上以及操作系統實現的方法上兩者都具有較大的差異。一個好的實時操作系統需要具備以下功能(必須但非充分):多任務和可搶佔的;任務具有優先級;操作系統具備支持可預測的任務同步機制;支持多任務間的通信;操作系統具備消除優先級轉置的機制;存儲器優化管理;操作系統的(中斷延遲、任務切換、驅動程序延遲等)行為是可知的和可預測的。這是指在全負載的情形下,最壞反應時間可知;實時時鐘服務;中斷管理服務。實時系統最關鍵的部分是實時多任務內核。它的基本功能包括多任務管理、定時器管理、存儲器管理、資源管理、事件管理、系統管理、消息管理、隊列管理、信號量管理等。這些管理功能是通過內核服務函數形式交給用户調用的,也就是實時操作系統的API [1] 

嵌入式實時多任務操作系統特徵

  1. 小巧。嵌入式系統所能夠提供的資源有限,所以嵌入式操作系統必須做到小巧以滿足嵌入式系統硬件的限制。
  2. 實時性。大多數嵌入式系統工作在實時性要求很高的環境中,這就要求嵌入式操作系統必須將實時性作為一個重要的方面來考慮。在信息時代,人們必須在有效的時間內對到來的信息進行處理,從而為進一步的決策分析爭取時間。所以,嵌入式操作系統必須體現一定的實時性。
  3. 可裝卸。由於嵌入式系統需要根據應用的要求進行裝卸,所以嵌入式操作系統也必須能夠根據應用的要求進行裝卸,去掉多餘的部分,或者簡化相應的模塊。這些特徵在嵌入式系統的模塊劃分中必須事先考慮周全。
  4. 固化代碼。在嵌入式系統中,嵌入式操作系統和應用軟件被固化在嵌入式系統計算機的ROM中。輔助存儲器在嵌入式系統中使用很少,因此,嵌入式操作系統的文件管理功能應該能夠很容易地拆卸,取而代之的是各種內存文件系統。
  5. 弱交互性。大多數嵌入式系統的工作過程不需要人的干預。嵌入式操作系統的用户接口一般不提供操作命令,它通過系統調用命令向用户程序提供服務。
  6. 強穩定性。嵌入式系統一旦開始運行就不需要人過多的干預。在這種條件下,要求負貴系統管理的嵌入式操作系統具有較高的穩定性。
  7. 統一的接口。隨着各種各樣的嵌入式操作系統的出現,人們有必要為嵌入式系統提供的接口進行約定,從而為嵌入式應用軟件的設計者提供統一的服務接口,為嵌入式應用軟件的運行提供平台的無關性 [2] 

嵌入式實時多任務操作系統任務管理策略

優先級
每個任務都有其優先級。任務越重要,賦予的優先級應越高。任務的優先級(特別是應用程序的優先級)在運行時可以動態變化的,則稱之為動態優先級。
基於優先級搶佔式調度
系統中每一個任務都有一個優先級,內核總是將CPU分配給處於就緒態的優先級最高的任務運行。如果系統發現就緒隊列中有比當前運行任務更高的優先級的任務,就把當前運行任務置於就緒隊列中,調入高優先級任務運行。系統採用優先級搶佔方式進行調度,可以保證重要的突發事件及時得到處理。
時間片輪轉調度算法是讓優先級相同的、處於就緒狀態的任務按時間片使用CPU,以防止同優先級中某一任務獨佔CPU。
多任務調度機制
任務調度算法是直接影響實時性能的因素。儘管調度算法多種多樣,但大多由單調速率(Rate-Monotonic Scheduling,RMS)調度算法和最早期限優先(Earlist-Deadline First, EDF)調度算法變化而來。前者主要用於靜態週期任務的調度,後者主要用於動態調度。在不同的系統狀態下,這兩種算法各有優劣。在一般情況下,ERTOS多采用基於優先級搶佔方式與時間片輪轉調度相結合的調度。
時間的可確定性
實時操作系統函數調用與服務的執行時間應具有可確定性。系統服務的執行時間不依賴於應用程序任務的多少。基於此特徵,系統完成某個確定任務的時間是可預測的。
參考資料
  • 1.    朱巍.嵌入式實時操作系統及其應用[J].單片機與嵌入式系統應用,2002(08):5-8.
  • 2.    塗剛,陽富民,胡貫榮.嵌入式操作系統綜述[J].計算機應用研究,2000(11):4-5+9.