資料介紹
μC/OS-II 是一種基于優(yōu)先級的搶占式多任務(wù)實時操作系統(tǒng),包含了實時內(nèi)核、任務(wù)管理、時間管理、任務(wù)間通信同步(信號量,郵箱,消息 隊列)和內(nèi)存管理等功能。它可以使各個任務(wù)獨(dú)立工作,互不干涉,很容易實現(xiàn)準(zhǔn)時而且無誤執(zhí)行,使實時應(yīng)用程序的設(shè)計和擴(kuò)展變得容易,使應(yīng)用程序的設(shè)計過程大為減化。
1 μC/OS-II的任務(wù)調(diào)度算法分析
1.1 μC/OS-II任務(wù)就緒表的解讀
μC/OS操作系統(tǒng)采用優(yōu)先級至上的任務(wù)調(diào)度原則,讓進(jìn)入就緒態(tài)任務(wù)中優(yōu)先級最高的那個任務(wù),一進(jìn)入就緒態(tài)就能立即運(yùn)行。μC/OS操作系統(tǒng)實現(xiàn)了一種巧妙的查表算法,利用這種算法能快速實現(xiàn)任務(wù)調(diào)度原則。如何從任務(wù)就緒表中,查找優(yōu)先級最高的那個任務(wù)?歸結(jié)起來:
兩個變量(OSrdyGrp、OSRdyTb1[])和兩張表(OSMapTb1[]、OSUnMaTb1[])。
μC/OS操作系統(tǒng)可支持64個任務(wù),每個任務(wù)被賦予不同的優(yōu)先級——從0級到最低優(yōu)先級OS_LOWEST_PRIO,最末兩個為操作系統(tǒng)所用,分別為統(tǒng)計任務(wù)和空閑任務(wù)的優(yōu)先級。μC/OS-II任務(wù)就緒表如圖1所示。判斷任務(wù)就緒同樣根據(jù)OSRdyTb1[]和OSRdyGrp兩個變量來完成:OSR-dyTb1[]按任務(wù)優(yōu)先級分成8組(即每一組8個任務(wù)優(yōu)先級),當(dāng)任務(wù)處于就緒狀態(tài)時,對應(yīng)的位為1,反之則為0;OSRdyTb1口組中任何一位為1時,對應(yīng)的OSRdyGrp位置1。

圖1 μC/OS-II任務(wù)就緒表
使任務(wù)進(jìn)入就緒狀態(tài)和脫離就緒狀態(tài),都是通過OSRdyTb1[]和OSRdyGrp這兩個變量來查找OSMapTb1[]表完成的:
?、龠M(jìn)入就緒狀態(tài)。

任務(wù)優(yōu)先級的低3位用于確定任務(wù)在總就緒表OSRdyTb1[]中的位置。緊接著前面的3位用于確定是OSRclyTb1[]數(shù)組的第幾個元素,兩個變量都置1。
?、诿撾x就緒狀態(tài)。

代碼將就緒任務(wù)表數(shù)組OSRdyTb1[]中相應(yīng)元素的相應(yīng)位清0,而只有當(dāng)這一組中的所有任務(wù)都為脫離就緒態(tài)時,OSRdyGrp變量才會為0。
1.2 高優(yōu)先級任務(wù)的查找
從任務(wù)就緒表中查找最高優(yōu)先級任務(wù),即從OSRdyTb1[]變量中找到最低為1的位是第幾位(對應(yīng)的就是最高優(yōu)先級任務(wù))。μC/OS-II采用查表的方式來找出處于就緒態(tài)的最高優(yōu)先級任務(wù),μC/OS-II中有一張256個單元的數(shù)據(jù)表OSUnMapTb1[],表中按一定規(guī)律有128個O,64個1,32個2,16個3,8個4,4個5,2個6,1個7,還有1個0,共256字節(jié)。
1 μC/OS-II的任務(wù)調(diào)度算法分析
1.1 μC/OS-II任務(wù)就緒表的解讀
μC/OS操作系統(tǒng)采用優(yōu)先級至上的任務(wù)調(diào)度原則,讓進(jìn)入就緒態(tài)任務(wù)中優(yōu)先級最高的那個任務(wù),一進(jìn)入就緒態(tài)就能立即運(yùn)行。μC/OS操作系統(tǒng)實現(xiàn)了一種巧妙的查表算法,利用這種算法能快速實現(xiàn)任務(wù)調(diào)度原則。如何從任務(wù)就緒表中,查找優(yōu)先級最高的那個任務(wù)?歸結(jié)起來:
兩個變量(OSrdyGrp、OSRdyTb1[])和兩張表(OSMapTb1[]、OSUnMaTb1[])。
μC/OS操作系統(tǒng)可支持64個任務(wù),每個任務(wù)被賦予不同的優(yōu)先級——從0級到最低優(yōu)先級OS_LOWEST_PRIO,最末兩個為操作系統(tǒng)所用,分別為統(tǒng)計任務(wù)和空閑任務(wù)的優(yōu)先級。μC/OS-II任務(wù)就緒表如圖1所示。判斷任務(wù)就緒同樣根據(jù)OSRdyTb1[]和OSRdyGrp兩個變量來完成:OSR-dyTb1[]按任務(wù)優(yōu)先級分成8組(即每一組8個任務(wù)優(yōu)先級),當(dāng)任務(wù)處于就緒狀態(tài)時,對應(yīng)的位為1,反之則為0;OSRdyTb1口組中任何一位為1時,對應(yīng)的OSRdyGrp位置1。

圖1 μC/OS-II任務(wù)就緒表
使任務(wù)進(jìn)入就緒狀態(tài)和脫離就緒狀態(tài),都是通過OSRdyTb1[]和OSRdyGrp這兩個變量來查找OSMapTb1[]表完成的:
?、龠M(jìn)入就緒狀態(tài)。

任務(wù)優(yōu)先級的低3位用于確定任務(wù)在總就緒表OSRdyTb1[]中的位置。緊接著前面的3位用于確定是OSRclyTb1[]數(shù)組的第幾個元素,兩個變量都置1。
?、诿撾x就緒狀態(tài)。

代碼將就緒任務(wù)表數(shù)組OSRdyTb1[]中相應(yīng)元素的相應(yīng)位清0,而只有當(dāng)這一組中的所有任務(wù)都為脫離就緒態(tài)時,OSRdyGrp變量才會為0。
1.2 高優(yōu)先級任務(wù)的查找
從任務(wù)就緒表中查找最高優(yōu)先級任務(wù),即從OSRdyTb1[]變量中找到最低為1的位是第幾位(對應(yīng)的就是最高優(yōu)先級任務(wù))。μC/OS-II采用查表的方式來找出處于就緒態(tài)的最高優(yōu)先級任務(wù),μC/OS-II中有一張256個單元的數(shù)據(jù)表OSUnMapTb1[],表中按一定規(guī)律有128個O,64個1,32個2,16個3,8個4,4個5,2個6,1個7,還有1個0,共256字節(jié)。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- μC/OS-II的多任務(wù)系統(tǒng)實時性解析 2次下載
- 基于ARM Cortex-M3的μCOS-II任務(wù)調(diào)度硬件指令實現(xiàn) 270次下載
- μC/OS-II 在Nios上的移植
- 基于μC/OS-II的無線監(jiān)控終端設(shè)計與實現(xiàn)
- μC/OS-II在PC機(jī)上移植的設(shè)計與實現(xiàn)
- 基于μC/OS-II的無線調(diào)度策略分析與實現(xiàn)
- 輕型PPP協(xié)議在μC/OS-II操作系統(tǒng)中的實現(xiàn)
- EPA 通信協(xié)議在μC/OS-II嵌入式系統(tǒng)中的設(shè)計與實現(xiàn)
- 在μC OS-II中實現(xiàn)同優(yōu)先級調(diào)度的方法
- μC OS-II 中擴(kuò)充任務(wù)數(shù)的方法
- μC OS-II 在Nios 上的移植1
- μC OS-II 任務(wù)棧處理的一種改進(jìn)方法
- μC/OS-II 任務(wù)調(diào)度機(jī)制的改進(jìn)
- μC/OS-II 中擴(kuò)充任務(wù)數(shù)的方法
- 基于μC/OS-II的嵌入式音頻系統(tǒng)設(shè)計
- 基于μC/OS-II和TMS320LF2407A實現(xiàn)集散式數(shù)據(jù)采集系統(tǒng)的設(shè)計 2344次閱讀
- 基于實時嵌入式操作系統(tǒng)mC/OS-II實現(xiàn)GPRS終端系統(tǒng)的設(shè)計 2408次閱讀
- 基于AT91R40008芯片和μC/OS-II實現(xiàn)EPA交換機(jī)的設(shè)計 3754次閱讀
- 基于MC9S12DP256芯片和μC/OS-II實現(xiàn)CCP軟件的設(shè)計 2882次閱讀
- 基于嵌入式工控模塊和μC/OS-II實現(xiàn)車載狀態(tài)監(jiān)控系統(tǒng)的設(shè)計 2064次閱讀
- 基于μC/OS-II操作系統(tǒng)實現(xiàn)在P89V51RD2微控制器上運(yùn)行 810次閱讀
- 基于μC/OS-II操作系統(tǒng)在SPCE061A上的移植優(yōu)化研研究 850次閱讀
- 基于μC/OS-II嵌入式系統(tǒng)開發(fā)中低功耗系統(tǒng)的設(shè)計 3138次閱讀
- 51單片機(jī)對μC/OS-II實時操作系統(tǒng)的移植 2507次閱讀
- LPC213X通過μC/OS-II的多種移植方案 677次閱讀
- 淺論uC/OS-II 在電動車電池管理系統(tǒng)中的應(yīng)用研究 1437次閱讀
- μC/OS-II系統(tǒng)基礎(chǔ)嵌入式開發(fā)編程教程 4547次閱讀
- LPC2119簡介 μC/OS-II在LPC2119上的移植 2847次閱讀
- 車輛調(diào)度系統(tǒng)的整體設(shè)計 UC/OS-II的內(nèi)核調(diào)度機(jī)理 1207次閱讀
- 用AndesCore N1033A-S處理器實現(xiàn)μC/OS-II的移植 4140次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論