2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、μCOSII軟件定時(shí)器管理算法分析及改進(jìn)摘要:軟件定時(shí)器是常用于內(nèi)核設(shè)計(jì)和應(yīng)用程序設(shè)計(jì)的一項(xiàng)基礎(chǔ)軟件措施。本文對(duì)μCOSIIV2.86中新增的用于管理軟件定時(shí)器的定時(shí)器輪進(jìn)行了重新規(guī)劃,并對(duì)處理算法進(jìn)行了重新設(shè)計(jì),有效提高了軟件定時(shí)器的到期命中率,驗(yàn)證表明,新改進(jìn)的算法在同等負(fù)載下可降低CPU的負(fù)載率約9%左右。1、概述軟件定時(shí)器是一種軟件措施,通過(guò)它可以使一項(xiàng)特定的任務(wù)在給定的時(shí)間段后被執(zhí)行。軟件定時(shí)器廣泛地應(yīng)用于內(nèi)核設(shè)計(jì)和應(yīng)用程序設(shè)

2、計(jì)中,例如,一個(gè)進(jìn)程使用軟件定時(shí)器等待其他的進(jìn)程完成特定的動(dòng)作以使任務(wù)間的操作同步等,因此,對(duì)軟件定時(shí)器的高效實(shí)現(xiàn)對(duì)提升系統(tǒng)的響應(yīng)效率是至關(guān)重要的。作為一種基礎(chǔ)的軟件措施,μCOSII[1]的V2.86版本中增加了對(duì)軟件定時(shí)器的支持。使用μCOSII提供的軟件定時(shí)器,應(yīng)用程序可以方便地完成特定的定時(shí)任務(wù)。本文對(duì)μCOSII的軟件定時(shí)器的實(shí)現(xiàn)機(jī)制進(jìn)行簡(jiǎn)要分析,然后提出了對(duì)μCOSII的軟件定時(shí)器的實(shí)現(xiàn)進(jìn)行改進(jìn)的方法。2、μCOSII軟件定

3、時(shí)器的實(shí)現(xiàn)機(jī)制及算法分析2.1μCOSII軟件定時(shí)器的核心數(shù)據(jù)結(jié)構(gòu)μCOSII實(shí)現(xiàn)軟件定時(shí)器的核心數(shù)據(jù)結(jié)構(gòu)是OS_TMR,其定義如下:typedefstructos_tmrINT8UOSTmrType應(yīng)該設(shè)置為OS_TMR_TYPEOS_TMR_CALLBACKOSTmrCallback指定時(shí)間到達(dá)時(shí)要執(zhí)行的回調(diào)函數(shù)voidOSTmrCallbackArg傳遞給回調(diào)函數(shù)的參數(shù)voidOSTmrNext軟件定時(shí)器鏈表管理指針voidOST

4、mrPrevINT32UOSTmrMatch當(dāng)OSTmrTime==OSTmrMatch時(shí)表示定時(shí)器時(shí)間到INT32UOSTmrDly對(duì)于周期性定時(shí)器,再次啟動(dòng)定時(shí)器前的延時(shí)時(shí)間INT32UOSTmrPeriod對(duì)于周期性定時(shí)器,時(shí)鐘周期的長(zhǎng)度INT8UOSTmrOpt選項(xiàng)(如OS_TMR_OPT_xxx等)INT8UOSTmrState定時(shí)器的狀態(tài)OS_TMR每個(gè)OS_TMR結(jié)構(gòu)的實(shí)例定義了一個(gè)軟件定時(shí)器,多個(gè)軟件定時(shí)器通過(guò)結(jié)構(gòu)中的O

5、STmrNext和OSTmrPrev構(gòu)成一個(gè)定時(shí)器雙向鏈表。為了提高對(duì)軟件定時(shí)器的管理效率,μCOSII引入了“定時(shí)器輪”數(shù)據(jù)結(jié)構(gòu),所謂定時(shí)器輪,是將定時(shí)器實(shí)例中的OSTmrMatch域的值參照某一個(gè)預(yù)先設(shè)計(jì)的數(shù)(稱(chēng)為輪數(shù))進(jìn)行求余運(yùn)算,并根據(jù)求余結(jié)果將定時(shí)器進(jìn)行分組以改善對(duì)到期定時(shí)器的命中率。定時(shí)器輪數(shù)缺省配置如下:typedefstructos_tmr_wheelOS_TMROSTmrFirst指向第一定時(shí)器的指針I(yè)NT16UOST

6、mrEntries該定時(shí)器輪中的定時(shí)器項(xiàng)數(shù)OS_TMR_WHEEL缺省配置下,μCOSII定義的輪數(shù)為8,因此,μCOSII的定時(shí)器輪為如下的一個(gè)數(shù)組:OS_TMR_WHEELOSTmrWheelTbl[8]到期,而f循環(huán)必須對(duì)每個(gè)時(shí)鐘進(jìn)行檢查,類(lèi)似的情況還發(fā)生在自時(shí)鐘到達(dá)10以后的多個(gè)檢查中。根據(jù)系統(tǒng)中的定時(shí)器的數(shù)量,這種無(wú)謂的檢查將占用大量的CPU時(shí)間。3、對(duì)μCOSII的定時(shí)器管理算法的改進(jìn)3.1改進(jìn)以后的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)對(duì)μCOSI

7、I的定時(shí)器管理算法進(jìn)行改進(jìn)的主要目標(biāo)是:要么不對(duì)定時(shí)器進(jìn)行檢查,要檢查則一定有定時(shí)器到期[2]。為了達(dá)到這個(gè)設(shè)計(jì)目標(biāo),需要對(duì)μCOSII的定時(shí)器輪進(jìn)行重新設(shè)計(jì)。采用同樣的OS_TMR數(shù)據(jù)結(jié)構(gòu)和OS_TMR_WHEEL定時(shí)器輪結(jié)構(gòu),但是,對(duì)定時(shí)器輪的每一個(gè)項(xiàng)的功能進(jìn)行重新規(guī)劃:(1)定時(shí)器輪的第1項(xiàng)到第7項(xiàng),即OSTmrWheelTbl[1]到OSTmrWheelTbl[7]的定時(shí)器輪,分別表示將在此后的第1個(gè)時(shí)鐘滴答到第7個(gè)時(shí)鐘滴答將到

8、期的定時(shí)器項(xiàng),此時(shí),每個(gè)定時(shí)器結(jié)構(gòu)的OSTmrMatch中的值表示需要經(jīng)過(guò)多少個(gè)時(shí)鐘滴答該定時(shí)器項(xiàng)將到期。在同一個(gè)定時(shí)器輪中的多個(gè)定時(shí)器項(xiàng)通過(guò)OSTmrNext和OSTmrPrev指針構(gòu)成雙向鏈表。(2)定時(shí)器輪的第0項(xiàng),表示將至少需要經(jīng)過(guò)8個(gè)時(shí)鐘滴答才到期的定時(shí)器,并通過(guò)OSTmrNext和OSTmrPrev指針將這些定時(shí)器構(gòu)成雙向鏈表。針對(duì)上面的同一個(gè)例子,按照此規(guī)劃形成的新的定時(shí)器輪如圖2所示:3.2改進(jìn)的處理算法對(duì)定時(shí)器的超時(shí)處

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論