天堂888-欧美黄色小说-熟睡侵犯の奶水授乳在线-初尝情欲h名器av-亚洲天堂免费视频-日韩五十路-免费在线国产-国产又大又黄又粗-久草导航-色播导航-亚洲免费资源-熟女一区二区三区视频-亚洲美女视频在线-亚洲成人福利视频-婷婷精品在线-亚洲综合p-中文字幕 日本-亚洲骚片-亚洲自拍偷拍网-国产农村妇女精品一区二区-午夜中出-久久精品国产精品亚洲毛片-91精品毛片-99爱视频在线-狠狠操亚洲-美女让人操-里番本子纯肉侵犯肉全彩无码-999偷拍

利用OS任務調度來實現嵌入式數據管理[1]

互聯網技術 責任編輯:sunguofu8 2012-03-19

摘要:隨著嵌入式系統的飛速發展,如何在嵌入式系統中實現數據管理也越來越引人關注,常用的方法是采用嵌入式數據庫。但是目前常用的嵌入式數據庫(如SQLite、BerkeleyDB等)均需嵌入式操作系統的支持,且對嵌入式系統的內存、CPU處理速度等有較高要求,只能應用在比較高端的嵌入式系統中[12].在低端的嵌入式系統中,傳統的數據管理方法是

隨著嵌入式系統的飛速發展,如何在嵌入式系統中實現數據管理也越來越引人關注,常用的方法是采用嵌入式數據庫。但是目前常用的嵌入式數據庫(如SQLite、Berkeley DB等)均需嵌入式操作系統的支持,且對嵌入式系統的內存、CPU處理速度等有較高要求,只能應用在比較高端的嵌入式系統中[12].在低端的嵌入式系統中,傳統的數據管理方法是對數據存儲空間按順序編號,數據存儲與刪除均根據編號順序操作。這種方法在多次刪除后會出現很多存儲空間碎片,一方面加大了程序查找空閑存儲空間的難度,數據管理操作時間長(類似微機系統中硬盤長時間不做磁盤碎片整理會造成程序運行變慢的情況),另一方面可能造成存儲空間利用率降低。本文提出了一種利用μC/OS任務調度算法實現的數據管理方法,該方法實現簡單,無需嵌入式操作系統的支持,可應用于低端的嵌入式系統中,而且可以有效克服低端嵌入式應用中傳統數據管理方法的缺陷。

1  μC/OS任務調度算法

μC/OS是一種占先式的多任務嵌入式操作系統,它可以管理多達64個任務[3].μC/OS中,每個任務的優先級不一樣且是,優先級較高的任務一旦準備就緒,則擁有CPU所有權并開始投入運行[3].所以,μC/OS的任務調度算法的基本思想就是,查找當前準備就緒的較高優先級的任務,并進行任務切換。實現上述任務調度算法主要包含兩個步驟:確定目前哪幾個任務處于就緒態,確定目前處于就緒態的任務中哪個優先級較高。為此,μC/OS提供了兩個全局變量OSRdyTbl[]和OSRdyGrp.OSRdyTbl[]數組是任務就緒表,包含 8個字節(共64位),相當于把64個任務分為8組,每組8個任務,這64位數據的0、1狀態分別代表64個任務是否處于就緒態(0代表空閑,1代表就緒);OSRdyGrp為1個字節數據(8位),每一位的0、1狀態分別代表OSRdyTbl[]數組的相應字節是否非零(即該組中是否有任務處于就緒態)。通過這兩個全局變量的賦值就可實現任務就緒態與空閑態的切換,這是μC/OS實現任務調度的基礎[4].

1.1  使任務進入就緒態

假設優先級為12的任務進入就緒狀態,12 = 1100b,則OSRdyTbl[1]的第4位置1,且OSRdyGrp的第1位置1(代表第1組有任務處于就緒態),相應的數學表達式為:

OSRdyGrp|=0x02;

OSRdyTbl[1]|=0x10;

則μC/OS在執行任務調度時,通過OSRdyGrp的值即可判斷出第1組任務中有任務處于就緒態,然后再通過OSRdyTbl[]數組的第1個字節即可判斷出此時優先級為12的任務處于就緒態,則可做任務切換。

從上面的計算可以得到:若OSRdyGrp及OSRdyTbl[]的第n位置1,則應該把OSRdyGrp及OSRdyTbl[]的值與2n相或。為了計算方便,μC/OS中把2n的8個值(n=0~7)先計算好,存在數組OSMapTbl[]中,即:

OSMapTbl[0]=20=0x01(0000 0001)

OSMapTbl[1]=21=0x02(0000 0010)

……

OSMapTbl[7] = 27=0x80(1000 0000)

μC/OS中,優先級數分解為高3位和低3位,高3位代表任務組號,低3位代表任務在所在組中的位置。則任意優先級為prio的任務進入就緒態只需執行以下程序[3]:

OSRdyGrp|=OSMapTbl[prio 》 3];

OSRdyTbl[prio》3]|=OSMapTbl[prio & 0x07];

[1]  [2]  [3]  [4]  

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內容不斷變化與調整,本網站提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內容為準!

通信工程師備考資料免費領取

去領取

專注在線職業教育25年

信息系統項目管理師

信息系統項目管理師

信息系統項目管理師

!
咨詢在線老師!