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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Uc/OS II就緒表(Ready List)分析

          Uc/OS II就緒表(Ready List)分析

          作者: 時(shí)間:2016-10-08 來源:網(wǎng)絡(luò) 收藏

          就緒表(Ready List)

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

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

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

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

          當(dāng)OSRdyTbl[0]中的任何一位是1時(shí),OSRdyGrp的第0位置1,

          當(dāng)OSRdyTbl[1]中的任何一位是1時(shí),OSRdyGrp的第1位置1,

          當(dāng)OSRdyTbl[2]中的任何一位是1時(shí),OSRdyGrp的第2位置1,

          當(dāng)OSRdyTbl[3]中的任何一位是1時(shí),OSRdyGrp的第3位置1,

          當(dāng)OSRdyTbl[4]中的任何一位是1時(shí),OSRdyGrp的第4位置1,

          當(dāng)OSRdyTbl[5]中的任何一位是1時(shí),OSRdyGrp的第5位置1,

          當(dāng)OSRdyTbl[6]中的任何一位是1時(shí),OSRdyGrp的第6位置1,

          當(dāng)OSRdyTbl[7]中的任何一位是1時(shí),OSRdyGrp的第7位置1,

          程序清單3.5中的代碼用于將任務(wù)放入就緒表。Prio是任務(wù)的優(yōu)先級(jí)。



          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();