深圳嵌入式培訓
時間:2020-01-02 00:00:00
來源:信盈達
作者:信盈達
系統最大的特點當然是嵌入。嵌入就意味著它和硬件的聯系很強,對硬件的適配和依賴度都是很高的,對于系統移植的難易度也就成了評價嵌入實時系統的重要方面。嵌入式操作系統移植的目的是使嵌入式操作系統能在某個微處理器或微控制器上運行。比如VxWorks是商用操作系統的有很多API函數及相關技術支持,所以移植和二次開發比較容易,但是移植成本較高。嵌入還意味著對于小型的硬件要求,主要是面對實時產生的數據,在數據產生終端進行快速的運算。所以系統極其強調靈敏性和實時性。
另一個特點就是實時。對于實時性的要求,有很多種實現措施。我們一一道來。首先就是分區處理的思想。對于核心的功能劃分,使用戶信息和系統程序和運行分列在不同的區劃里,保證任務的有效有序運轉。其次, 任務管理是嵌入式實時操作系統的核心和靈魂,決定了操作系統的實時性能。它通常包含優先級設置、多任務調度機制和時間確定性等部分。 嵌入式操作系統支持多任務,每個任務都具有優先級,任務越重要,賦予的優先級應越高。優先級的設置分為靜態優先級和動態優先級兩種。靜態優先級指的是每個任務在運行前都被賦予一個優先級,而且這個優先級在系統運行期間是不能改變的;動態優先級則是指每個任務的優先級(特別是應用程序的優先級)在系統運行時可以動態地改變。
嵌入式操作系統支持多任務,每個任務都具有優先級。任務調度主要是協調任務對計算機系統資源的爭奪使用。對系統資源非常匱乏的嵌入式系統來說,任務調度尤為重要,它直接影響到系統的實時性能。通常,多任務調度機制分為基于優先級搶占式調度和時間片輪轉調度。
基于優先級搶占式調度:系統中每個任務都有一個優先級,內核總是將CPU分配給處于就緒態的優先級最高的任務運行。如果系統發現就緒隊列中有比當前運行任務更高的優先級任務,就把當前運行任務置于就緒隊列中,調入高優先級任務運行。系統采用優先級搶占方式進行調度,可以保證重要的突發事件及時得到處理。
時間片輪轉調度:讓優先級相同的處于就緒狀態的任務按時間片使用CPU,以防止同優先級的某一任務長時間獨占CPU。
在一般情況下,嵌入式實時操作系統采用基于優先級搶占式調度與時間片輪轉調度相結合的調度機制。深圳嵌入式培訓
深圳嵌入式培訓,第三,在運行的執行方式上,VXworks等系統采用進程和線程的執行方式,而市面上其他的系統多采用任務執行方式。
嵌入式實時操作系統函數調用與服務的執行時間應具有可確定性。系統服務的執行時間不依賴于應用程序任務的多少。基于此特征,系統完成某個確定任務的時間是可預測的。表1具體列出了4種操作系統的調度機制。
VxWorks具有高效的任務管理功能,它支持多任務,可分配256個優先級,支持優先級搶占式調試和時間片輪轉調度,實時性最好。μC/OS-II內核是針對實時系統的要求設計實現的,只支持基于固定優先級搶占式調度;調度方法簡單,可以滿足較高的實時性要求。μClinux在結構上繼承了標準Linux的多任務實現方式,分為實時進程和普通進程,分別采用先來先服務和時間片輪轉調度;僅針對中低檔嵌入式CPU特點進行改良,且不支持內核搶占。eCos調度方法豐富,提供了兩種基于優先級的調度器(即位圖調度器和多級隊列調度器),允許用戶在進行配置時選擇其中一個凋度器,適應性好。