欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2803|回復: 1
收起左側

學習筆記-關于uCOS-ll中就緒狀態表的理解

[復制鏈接]
ID:216359 發表于 2020-5-2 17:47 | 顯示全部樓層 |閱讀模式
學習筆記----關于uCOS-ll中就緒狀態表的理解
    μC/OS_II進行任務調度的思想是 “近似地每時每刻總是讓優先級最高的就緒任務處于運行狀態” 。為了保證這一點,它在系統或用戶任務調用系統函數及執行中斷服務程序結束時總是調用調度器,來確定應該運行的任務并運行它。μC/OS_II進行任務調度的依據就是任務就緒表
   為了能夠使系統清楚地知道,系統中哪些任務已經就緒,哪些還沒有就緒,μC/OS_II在RAM中設立了一個記錄表,系統中的每個任務都在這個表中占據一個位置,并用這個位置的狀態(1或者0)來表示任務是否處于就緒狀態,這個表就叫做任務就緒狀態表,簡稱叫任務就緒表
任務就緒表是由N個8位維數組組成(最多64個).一部分為OSRdyTbl[ ],另一部分為OSRdyGrp(無符號8位變量)。
     在創建任務后,任務的優先級就確定了,比如13。把64個任務優先級分成8個隊,第一隊是1---8,第二隊是9---17,。。。。如果要查一下13優先級的任務在那個位置,首先看一下大體在那個隊,大于8應該在在第二隊,那就不看第一隊了,看第二隊好了,對二隊從9開始到17了,大概在第5位置。計算機也是這樣工作的,先分組,再定位。
讓我們以優先級為13為例子,分析一下先分組再定位的內部機理吧。既然是計算機用的,就寫成二進制
0000   1101    把D5、D4、D3、分為一組  001
                   D2、D1、D0分為一組   101
可見是一組5位。再以一個復雜的優先級63分析一下:
0011   1111    把D5、D4、D3、分為一組  111
                   D2、D1、D0分為一組   111
可見是第7組第7位。這樣看起來很清爽的。
   把D5、D4、D3確定的十進制數作為OSRdyGrp的8個位標志,如上面的001和111,分別是OSRdyGrp的第1位和第7位置1,代表第一隊和第7隊有需要查找的優先級。這樣共可以分為8個隊。
把D2、D1、D0確定的十進制數作為OSRdyTbl[]的8個位標志,如上面的101和111,分別是OSRdyTbl[1]隊和OSRdyTbl[7]隊的第1位和第7位置1,代表第一隊的第一個位和第7隊的第7個位有需要查找的優先級。
對計算機而言,一個任務創建后,就根據二進制把它分解為上述的兩個部分。并根據這兩個部分分別對相應OSRdyGrp和OSRdyTbl[]的位置1,這樣就完成了任務的就緒。

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:772355 發表于 2020-6-8 02:47 | 顯示全部樓層
清楚了很多
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表