資料介紹
引言
筆者曾在本刊2008年12期上發表過一篇文章——《基于μC/OS-11的時間片調度法設計》,近期在網絡上看到有很多感興趣的技術同行作了大量引用和轉載。根據在實際項目中的應用經驗,有必要對其再議,主要原因如下:①多任務的時間片調度在嵌入式領域有實用價值。一方面是很多嵌入式軟件系統升級有這種需求,舊的軟件模塊基于Endless Loop實現,升級到μC/OS-II后,若要最大限度地復用舊的軟件模塊,時間片調度算法是實現舊的設計模式到新架構之間最簡單的橋梁。另一方面,對于控制領域,存在大量的耗時任務無法自動釋放控制權,時間片調度降低了任務設計的復雜度。剛剛發布不久的μC/OS-II,推出的重大改進之一就是增加了對Round Robin的支持,更是表明μC/OS-II的使用者們對該功能的實際需求是切實存在的。
②不更改μC/OS-II內核代碼實現時間片調度。《基于μC/OS-II的時間片調度法設計》對OS內核代碼作了修改,雖然很少但增加了系統耦合度,對日后的項目維護和第三方升級都是不利的。如果存在完全不用更改內核而僅基于OS服務的正常調用的實現方案,對系統的可靠性和移植性都是有益的。
③相對μC/OS-III,μC/OS-II仍然有廣泛的應用領域。μC/OS-III作出了重大的改進,增加了時間片調度,擴展了任務數的限制,允許了同等優先級任務的存在,更多新特性的引入帶來了內核結構的重整以及運行時開銷的增加。雖然可以通過配置優化系統,但就大部分的應用而言,μC/OS-II完全能夠勝任,至少不需要僅僅為了時間片調度功能而選用μC/OS-III.
1調度原理
該調度算法對系統的要求有兩點:首先要建立一個額外的調度任務用于管理待調度的用戶任務時間片計時及其切換,我們將其命名為TaskRB_Scheduler;其次是保證其任務優先級高于所有的待調度時間片任務,保證調度任務能搶占所有被調度任務的控制權。
我們假設系統中有3個任務需要分享時間片,分別為TaskRB_1、TaskRB_2、TaskRB_3.為了實現時間片的調度功能,還需要額外的調度任務TaskRB Scheduler,于是系統中的將會有4個任務。其中,TaskRB Scheduler由初始化代碼創建,而待調度的3個用戶任務的創建和管理完全由TaskRB Scheduler任務來完成。
TaskRB_Scheduler的運行分為兩個階段:首先是初始化階段,負責所有時間片任務的創立并確保其處于Suspend狀態;然后是調度運行階段,如圖
筆者曾在本刊2008年12期上發表過一篇文章——《基于μC/OS-11的時間片調度法設計》,近期在網絡上看到有很多感興趣的技術同行作了大量引用和轉載。根據在實際項目中的應用經驗,有必要對其再議,主要原因如下:①多任務的時間片調度在嵌入式領域有實用價值。一方面是很多嵌入式軟件系統升級有這種需求,舊的軟件模塊基于Endless Loop實現,升級到μC/OS-II后,若要最大限度地復用舊的軟件模塊,時間片調度算法是實現舊的設計模式到新架構之間最簡單的橋梁。另一方面,對于控制領域,存在大量的耗時任務無法自動釋放控制權,時間片調度降低了任務設計的復雜度。剛剛發布不久的μC/OS-II,推出的重大改進之一就是增加了對Round Robin的支持,更是表明μC/OS-II的使用者們對該功能的實際需求是切實存在的。
②不更改μC/OS-II內核代碼實現時間片調度。《基于μC/OS-II的時間片調度法設計》對OS內核代碼作了修改,雖然很少但增加了系統耦合度,對日后的項目維護和第三方升級都是不利的。如果存在完全不用更改內核而僅基于OS服務的正常調用的實現方案,對系統的可靠性和移植性都是有益的。
③相對μC/OS-III,μC/OS-II仍然有廣泛的應用領域。μC/OS-III作出了重大的改進,增加了時間片調度,擴展了任務數的限制,允許了同等優先級任務的存在,更多新特性的引入帶來了內核結構的重整以及運行時開銷的增加。雖然可以通過配置優化系統,但就大部分的應用而言,μC/OS-II完全能夠勝任,至少不需要僅僅為了時間片調度功能而選用μC/OS-III.
1調度原理
該調度算法對系統的要求有兩點:首先要建立一個額外的調度任務用于管理待調度的用戶任務時間片計時及其切換,我們將其命名為TaskRB_Scheduler;其次是保證其任務優先級高于所有的待調度時間片任務,保證調度任務能搶占所有被調度任務的控制權。
我們假設系統中有3個任務需要分享時間片,分別為TaskRB_1、TaskRB_2、TaskRB_3.為了實現時間片的調度功能,還需要額外的調度任務TaskRB Scheduler,于是系統中的將會有4個任務。其中,TaskRB Scheduler由初始化代碼創建,而待調度的3個用戶任務的創建和管理完全由TaskRB Scheduler任務來完成。
TaskRB_Scheduler的運行分為兩個階段:首先是初始化階段,負責所有時間片任務的創立并確保其處于Suspend狀態;然后是調度運行階段,如圖
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- FreeRTOS時間片進行任務調度?
- FreeRTOS時間片調度
- UCOIII時間片輪轉調度
- 單片機應用程序架構-時間片輪詢法
- 小信號放大電路設計方案匯總 139次下載
- 空調PFC原理及交錯設計方案分析 18次下載
- AC24V接口EMC標準電路設計方案 36次下載
- AC380V EMC標準電路設計方案 50次下載
- AV接口EMC標準電路設計方案 29次下載
- CAN總線接口EMC標準電路設計方案 206次下載
- 基于NVM和DRAN的混合內存系統設計方案 12次下載
- 如何進行窄帶蜂窩物聯網的資源分配和調度問題分析與設計 6次下載
- UCOS擴展例程-UCOSIII時間片輪轉調度 21次下載
- 嵌入式實時操作系統VxWorks內核調度機制分析
- 時間繼電器設計方案
- FreeRTOS任務調度器的三種調度算法講解(下) 1794次閱讀
- 軟件架構之時間輪片法 384次閱讀
- 配網調度自動化自愈系統的設計與實現 923次閱讀
- 不同功率的充電樁設計方案總結 2091次閱讀
- 電力變壓器保護設計方案 573次閱讀
- 高效電路分析:疊加定理、支路分析法、網孔分析法、結點分析法、戴維南和諾頓定理 5273次閱讀
- 任務調度開源代碼是什么 784次閱讀
- 時間片調度算法issue詳解 1206次閱讀
- 利用IP流量發生器實現IPTV測試儀的設計方案 2477次閱讀
- 單片機中的時間片輪詢法解析 8389次閱讀
- 智能電網調度的主要運行技術分析 4279次閱讀
- 四種常用的電路分析法 1.7w次閱讀
- 基于FPGA的數字核脈沖分析器硬件設計方案 2075次閱讀
- 基于FPGA的幀同步系統設計方案 4712次閱讀
- LED大屏幕控制電路設計方案研究 2473次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多