中文字幕无码夊久人妻|国产另类在线欧美日韩|精品无码乱码AV片国产|91久久香蕉国产熟女线看|白嫩丰满大乳美女免费视频|久久久久人妻精品区一三寸|免费一看一级毛片少妇丰满2|精品无码国产一区二区三区51

您現(xiàn)在的位置:融合網(wǎng)首頁 > 芯片 > 技術(shù) >

基于μC/OS任務(wù)調(diào)度算法的嵌入式數(shù)據(jù)管理

來源:互聯(lián)網(wǎng) 作者:秩名 責(zé)任編輯:admin 發(fā)表時(shí)間:2018-11-07 11:59 
核心提示:引言 一般情況下,在嵌入式系統(tǒng)中實(shí)現(xiàn)數(shù)據(jù)管理我們常采用嵌入式數(shù)據(jù)庫。但是目前常用的嵌入式數(shù)據(jù)庫(如SQLite、Berkeley DB等)均需嵌入式操作系統(tǒng)的支持,且對嵌入式系統(tǒng)的內(nèi)存、CPU處理速度等有較高要求,只能應(yīng)用在比較高端的嵌入式系統(tǒng)中。在低端的嵌入

引言

一般情況下,在嵌入式系統(tǒng)中實(shí)現(xiàn)數(shù)據(jù)管理我們常采用嵌入式數(shù)據(jù)庫。但是目前常用的嵌入式數(shù)據(jù)庫(如SQLite、Berkeley DB等)均需嵌入式操作系統(tǒng)的支持,且對嵌入式系統(tǒng)的內(nèi)存、CPU處理速度等有較高要求,只能應(yīng)用在比較高端的嵌入式系統(tǒng)中。在低端的嵌入式系統(tǒng)中,傳統(tǒng)的數(shù)據(jù)管理方法是對數(shù)據(jù)存儲(chǔ)空間按順序編號,數(shù)據(jù)存儲(chǔ)與刪除均根據(jù)編號順序操作。這種方法在多次刪除后會(huì)出現(xiàn)很多存儲(chǔ)空間碎片,一方面加大了程序查找空閑存儲(chǔ)空間的難度,數(shù)據(jù)管理操作時(shí)間長(類似微機(jī)系統(tǒng)中硬盤長時(shí)間不做磁盤碎片整理會(huì)造成程序運(yùn)行變慢的情況),另一方面可能造成存儲(chǔ)空間利用率降低。本文提出了一種利用μC/OS任務(wù)調(diào)度算法實(shí)現(xiàn)的數(shù)據(jù)管理方法,該方法無需嵌入式操作系統(tǒng)的支持,可應(yīng)用于低端的嵌入式系統(tǒng)中,而且可以有效克服低端嵌入式應(yīng)用中傳統(tǒng)數(shù)據(jù)管理方法的缺陷。

1、μC/OS任務(wù)調(diào)度算法

μC/OS是一種占先式的多任務(wù)嵌入式操作系統(tǒng),它可以管理多達(dá)64個(gè)任務(wù)。μC/OS中,每個(gè)任務(wù)的優(yōu)先級不一樣且是唯一的,優(yōu)先級最高的任務(wù)一旦準(zhǔn)備就緒,則擁有CPU所有權(quán)并開始投入運(yùn)行。所以,μC/OS的任務(wù)調(diào)度算法的基本思想就是,查找當(dāng)前準(zhǔn)備就緒的最高優(yōu)先級的任務(wù),并進(jìn)行任務(wù)切換。實(shí)現(xiàn)上述任務(wù)調(diào)度算法主要包含兩個(gè)步驟:確定目前哪幾個(gè)任務(wù)處于就緒態(tài),確定目前處于就緒態(tài)的任務(wù)中哪個(gè)優(yōu)先級最高。為此,μC/OS提供了兩個(gè)全局變量OSRdyTbl[]和OSRdyGrp。OSRdyTbl[]數(shù)組是任務(wù)就緒表,包含 8個(gè)字節(jié)(共64位),相當(dāng)于把64個(gè)任務(wù)分為8組,每組8個(gè)任務(wù),這64位數(shù)據(jù)的0、1狀態(tài)分別代表64個(gè)任務(wù)是否處于就緒態(tài)(0代表空閑,1代表就緒);OSRdyGrp為1個(gè)字節(jié)數(shù)據(jù)(8位),每一位的0、1狀態(tài)分別代表OSRdyTbl[]數(shù)組的相應(yīng)字節(jié)是否非零(即該組中是否有任務(wù)處于就緒態(tài))。通過這兩個(gè)全局變量的賦值就可實(shí)現(xiàn)任務(wù)就緒態(tài)與空閑態(tài)的切換,這是μC/OS實(shí)現(xiàn)任務(wù)調(diào)度的基礎(chǔ)。

1.1  使任務(wù)進(jìn)入就緒態(tài)

μC/OS通過OSRdyTbl[]和OSRdyGrp某位置“1”,使相應(yīng)任務(wù)進(jìn)入就緒態(tài),如圖1所示。

假設(shè)優(yōu)先級為12的任務(wù)進(jìn)入就緒狀態(tài),12 = 1100b,則OSRdyTbl[1]的第4位置1,且OSRdyGrp的第1位置1(代表第1組有任務(wù)處于就緒態(tài)),相應(yīng)的數(shù)學(xué)表達(dá)式為:

OSRdyGrp|=0x02;

OSRdyTbl[1]|=0x10;

則μC/OS在執(zhí)行任務(wù)調(diào)度時(shí),通過OSRdyGrp的值即可判斷出第1組任務(wù)中有任務(wù)處于就緒態(tài),然后再通過OSRdyTbl[]數(shù)組的第1個(gè)字節(jié)即可判斷出此時(shí)優(yōu)先級為12的任務(wù)處于就緒態(tài),則可做任務(wù)切換。

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

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

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

……

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

μC/OS中,優(yōu)先級數(shù)分解為高3位和低3位,高3位代表任務(wù)組號,低3位代表任務(wù)在所在組中的位置。則任意優(yōu)先級為prio的任務(wù)進(jìn)入就緒態(tài)只需執(zhí)行以下程序:

OSRdyGrp|=OSMapTbl[prio 》 3];

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

1.2  使任務(wù)進(jìn)入空閑態(tài)

μC/OS通過任務(wù)就緒表OSRdyTbl[prio》3](prio代表任務(wù)優(yōu)先級)中相應(yīng)位清零使相應(yīng)任務(wù)進(jìn)入空閑態(tài),當(dāng)OSRdyTbl[prio》3]中的所有位都為零時(shí),還需將OSRdyGrp的相應(yīng)位清零,代表全組任務(wù)中沒有一個(gè)任務(wù)進(jìn)入就緒態(tài)。(責(zé)任編輯:admin)

  • “掃一掃”關(guān)注融合網(wǎng)微信號

免責(zé)聲明:我方僅為合法的第三方企業(yè)注冊用戶所發(fā)布的內(nèi)容提供存儲(chǔ)空間,融合網(wǎng)不對其發(fā)布的內(nèi)容提供任何形式的保證:不保證內(nèi)容滿足您的要求,不保證融合網(wǎng)的服務(wù)不會(huì)中斷。因網(wǎng)絡(luò)狀況、通訊線路、第三方網(wǎng)站或管理部門的要求等任何原因而導(dǎo)致您不能正常使用融合網(wǎng),融合網(wǎng)不承擔(dān)任何法律責(zé)任。

第三方企業(yè)注冊用戶在融合網(wǎng)發(fā)布的內(nèi)容(包含但不限于融合網(wǎng)目前各產(chǎn)品功能里的內(nèi)容)僅表明其第三方企業(yè)注冊用戶的立場和觀點(diǎn),并不代表融合網(wǎng)的立場或觀點(diǎn)。相關(guān)各方及作者發(fā)布此信息的目的在于傳播、分享更多信息,并不代表本網(wǎng)站的觀點(diǎn)和立場,更與本站立場無關(guān)。相關(guān)各方及作者在我方平臺上發(fā)表、發(fā)布的所有資料、言論等僅代表其作者個(gè)人觀點(diǎn),與本網(wǎng)站立場無關(guān),不對您構(gòu)成任何投資、交易等方面的建議。用戶應(yīng)基于自己的獨(dú)立判斷,自行決定并承擔(dān)相應(yīng)風(fēng)險(xiǎn)。

根據(jù)相關(guān)協(xié)議內(nèi)容,第三方企業(yè)注冊用戶已知悉自身作為內(nèi)容的發(fā)布者,需自行對所發(fā)表內(nèi)容(如,字體、圖片、文章內(nèi)容等)負(fù)責(zé),因所發(fā)表內(nèi)容(如,字體、圖片、文章內(nèi)容等)等所引發(fā)的一切糾紛均由該內(nèi)容的發(fā)布者(即,第三方企業(yè)注冊用戶)承擔(dān)全部法律及連帶責(zé)任。融合網(wǎng)不承擔(dān)任何法律及連帶責(zé)任。

第三方企業(yè)注冊用戶在融合網(wǎng)相關(guān)欄目上所發(fā)布的涉嫌侵犯他人知識產(chǎn)權(quán)或其他合法權(quán)益的內(nèi)容(如,字體、圖片、文章內(nèi)容等),經(jīng)相關(guān)版權(quán)方、權(quán)利方等提供初步證據(jù),融合網(wǎng)有權(quán)先行予以刪除,并保留移交司法機(jī)關(guān)查處的權(quán)利。參照相應(yīng)司法機(jī)關(guān)的查處結(jié)果,融合網(wǎng)對于第三方企業(yè)用戶所發(fā)布內(nèi)容的處置具有最終決定權(quán)。

個(gè)人或單位如認(rèn)為第三方企業(yè)注冊用戶在融合網(wǎng)上發(fā)布的內(nèi)容(如,字體、圖片、文章內(nèi)容等)存在侵犯自身合法權(quán)益的,應(yīng)準(zhǔn)備好具有法律效應(yīng)的證明材料,及時(shí)與融合網(wǎng)取得聯(lián)系,以便融合網(wǎng)及時(shí)協(xié)調(diào)第三方企業(yè)注冊用戶并迅速做出相應(yīng)處理工作。

融合網(wǎng)聯(lián)系方式:(一)、電話:(010)57722280;(二)、電子郵箱:2029555353@qq.com dwrh@dwrh.net

對免責(zé)聲明的解釋、修改及更新權(quán)均屬于融合網(wǎng)所有。

相關(guān)新聞>>

    新聞關(guān)注排行榜

    熱門推薦 最新推薦

    熱門關(guān)鍵字

    關(guān)于我們 - 融合文化 - 媒體報(bào)道 - 在線咨詢 - 網(wǎng)站地圖 - TAG標(biāo)簽 - 聯(lián)系我們
    Copyright © 2010-2020 融合網(wǎng)|DWRH.net 版權(quán)所有 聯(lián)系郵箱:dwrh@dwrh.net 京公網(wǎng)安備 11011202002094號 京ICP備11014553號