<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > uCOS II就緒表(Ready List)分析

          uCOS II就緒表(Ready List)分析

          作者: 時間:2016-10-08 來源:網絡 收藏

          就緒表(Ready List)

          本文引用地址:http://www.ex-cimer.com/article/201610/305842.htm

          每個任務被賦予不同的優(yōu)先級等級,從0級到最低優(yōu)先級OS_LOWEST_PR1O,包括0和OS_LOWEST_PR1O在內(見文件OS_CFG.H)。當uCOS II初始化的時候,最低優(yōu)先級OS_LOWEST_PR1O總是被賦給空閑任務idle task。注意,最多任務數(shù)目OS_MAX_TASKS和最低優(yōu)先級數(shù)是沒有關系的。用戶應用程序可以只有10個任務,而仍然可以有32個優(yōu)先級的級別(如果用戶將最低優(yōu)先級數(shù)設為31的話)。

          每個任務的就緒態(tài)標志都放入就緒表中的,就緒表中有兩個變量OSRedyGrp和OSRdyTbl[]。在OSRdyGrp中,任務按優(yōu)先級分組,8個任務為一組。OSRdyGrp中的每一位表示8組任務中每一組中是否有進入就緒態(tài)的任務。任務進入就緒態(tài)時,就緒表OSRdyTbl[]中的相應元素的相應位也置位。就緒表OSRdyTbl[]數(shù)組的大小取決于OS_LOWEST_PR1O(見文件OS_CFG.H)。當用戶的應用程序中任務數(shù)目比較少時,減少OS_LOWEST_PR1O的值可以降低uCOS II對RAM(數(shù)據(jù)空間)的需求量。

          為確定下次該哪個優(yōu)先級的任務運行了,內核調度器總是將OS_LOWEST_PR1O在就緒表中相應字節(jié)的相應位置1。OSRdyGrp和OSRdyTbl[]之間的關系見圖3.3,是按以下規(guī)則給出的:

          當OSRdyTbl[0]中的任何一位是1時,OSRdyGrp的第0位置1,

          當OSRdyTbl[1]中的任何一位是1時,OSRdyGrp的第1位置1,

          當OSRdyTbl[2]中的任何一位是1時,OSRdyGrp的第2位置1,

          當OSRdyTbl[3]中的任何一位是1時,OSRdyGrp的第3位置1,

          當OSRdyTbl[4]中的任何一位是1時,OSRdyGrp的第4位置1,

          當OSRdyTbl[5]中的任何一位是1時,OSRdyGrp的第5位置1,

          當OSRdyTbl[6]中的任何一位是1時,OSRdyGrp的第6位置1,

          當OSRdyTbl[7]中的任何一位是1時,OSRdyGrp的第7位置1,



          關鍵詞:

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();