|
任務(wù)優(yōu)先級指針表也就是任務(wù)優(yōu)先級指針數(shù)組,在uC/OS-II任務(wù)管理中頻繁使用,代碼隨處可見。它是用來獲取某優(yōu)先級的任務(wù)的任務(wù)控制塊地址,它的定義如下所示:
OS_LOWEST_PRIO為最低優(yōu)先級的任務(wù)的優(yōu)先級,因?yàn)榈蛢?yōu)先級的任務(wù)數(shù)值最大,而任務(wù)優(yōu)先級是從0開始的,所以O(shè)S_LOWEST_PRIO+1就是任務(wù)的數(shù)量。
數(shù)組OSTCBPrioTbl就具有最多任務(wù)數(shù)個(gè)元素,它的類型是指向任務(wù)控制塊的指針。
假設(shè)我們創(chuàng)建一個(gè)任務(wù),這個(gè)任務(wù)的優(yōu)先級為5,那么在取得任務(wù)控制塊的地址之后,需要簡單地把該地址賦值給OSTCBPrioTbl[5]。以后在根據(jù)優(yōu)先級查找任務(wù)控制塊的時(shí)候,不需要遍歷就緒鏈表,因?yàn)镺STCBPrioTbl[5]中就是這個(gè)任務(wù)控制塊的地址了。這樣就做到了采用隨機(jī)存取的方式通過優(yōu)先級找到控制塊地址。在對時(shí)間要求嚴(yán)格的實(shí)時(shí)操作系統(tǒng)中,采用這樣的方式節(jié)約時(shí)間,是必要的也是必須的。
|
|