時間:2006-06-12 15:02:00來源:0
圖1 僅具有進程調度的調度隊列模型
3. 2 引入中級調度的調度隊列模型較完善的OS 中,除設置了進程調度外,還引入中級調度來改善內存的利用率。當在OS 引入中級調度后,可把進程的就緒狀態分為內存就緒態(進程在內存中就緒) 、外存就緒態(進程在外存中就緒) ;把阻塞狀態分為內存阻塞和外存阻塞。在調出操作的作用下,可使內存就緒轉變為外存就緒、內存阻塞轉變為外存阻塞;在中級調度的作用下,可使外存就緒轉變為內存就緒。如圖2 所示。
圖2 引入中級調度的進程調度的調度隊列模型
4 VxWorks 實時內核Wind 調度分析Wind 內核缺省調度機制為基于優先級的搶占式調度。采用這種機制時,系統把處理機分配給優先級最高的進程,使之執行。一旦出現了另一個優先級更高的進程時,進程調度程序剝奪當前任務的執行,將處理機分配給高優先級任務。而在相同優先級的多個任務之間,采用時間片輪
轉調度機制。采用這種機制時,當一個任務到達時,它被排在輪轉隊列的后面,等待分配給自己的間片的到來,如果在時間片內沒有結束,則再等待屬于自己的時間片的到來,直到任務完成。
4. 1 基于優先級的搶占式調度
采用基于優先級的搶占式調度,系統中每個任務都有一個介于最高0 到最低255 之間的優先級。任一時刻,系統內核一旦發現一個優先級更高的任務轉變為就緒態,內核就保存當前任務的上下文并把當前任務狀態轉換為阻塞態,同時切換到這個高優先級任務的上下文執行。如圖3 ,低優先級的task1 被中優先級的task2 搶占,task2又被高優先級的task3 搶占。
圖3 基于優先級的搶占式調度
4. 2 輪轉調度算法
采用輪轉調度算法,系統讓處于就緒態的優先級相同的一組任務依次輪流執行預先確定長度的時間片。這是一種處理機平均分配的方法。如果不使用輪轉調度算法,優先級相同的一組任務中第一個獲得處理機的任務將不會被阻塞而獨占處理機,如果沒有阻塞或其他情況發生,它不會放棄處理機的使用權。如圖4 , 相同優先級的task1 、task2 和task3 平均分配預先確定的處理機時間片。
圖4 優先級相同輪轉調度
4. 3 基于優先級的搶占式調度與輪轉調度相結合有時,基于優先級的搶占式調度可與輪轉調度相結合。當優先級相同的一組任務依次輪流平均分配處理機時,若有高優先級的任務轉變為就緒態則可搶占該組任務。直到再一次符合執行條件時,該組任務才可再次共享處理機。如圖5 ,相同優先級的task1 、task2 和task3 輪流占有處理機時,高于該組優先級的task4 搶占處理機,等task4執行結束,該組任務再次共享處理機。
圖5 基于優先級的搶占式調度與輪轉調度相結合調度
為了任務控制的靈活性,Wind 內核還提供了動態優先級機制,任務的優先級在運行期間可動態地變化。同時,為了防止優先級反轉,還具有優先級繼承機制,通過使用互斥信號量可以防止高優先級的任務被迫等待一段不確定時間,直到一個低優先級任務完成。
5 結 論
內核調度是一個實時系統的核心,它的好壞直接影響整個系統的好壞,通過對這種內核調度分析,可以更深入的理解實時操作系統設計的獨到之處。
參考文獻:
[1 ] 孔祥營. 嵌入式實時操作系統VxWorks 及其開發環境Tornado[M] . 北京:中國電力出版社,2001.
[2 ] 拉伯羅斯.μC/ OS 2 Ⅱ- 源代碼公開的實時嵌入式操作系統[M] . 北京:中國電力出版社,2001.
[3 ] 郭鳳儀,王其平,孫鶴旭. 開關電弧材料侵蝕研究[J ] . 遼寧工程技術大學學報,1997 ,16 (3) : 374 -
379.
[4 ] 張吉軍. 模糊層次分析法[J ] . 模糊系統與數學,2000 ,14 (2) :15 - 18.
[5 ] 王 琦. 實用模糊數學[M] . 北京:科學技術文獻出版社,1991.
標簽:
傳動網版權與免責聲明:凡本網注明[來源:傳動網]的所有文字、圖片、音視和視頻文件,版權均為傳動網(www.cdcst56.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-12-10
2025-11-20
2025-11-10
2025-11-10
2025-11-07
2025-10-31