欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
uC/OS-II學(xué)習(xí)筆記—任務(wù)管理
[打印本頁]
作者:
xueren
時(shí)間:
2013-7-13 00:53
標(biāo)題:
uC/OS-II學(xué)習(xí)筆記—任務(wù)管理
操作系統(tǒng)內(nèi)核運(yùn)行后,進(jìn)行一次初始化操作OSInit,對(duì)操作系統(tǒng)的重要數(shù)據(jù)結(jié)構(gòu)如任務(wù)控制塊、事件控制塊、就緒表等進(jìn)行初始化,并創(chuàng)建兩個(gè)系統(tǒng)任務(wù)(統(tǒng)計(jì)任務(wù)和空閑任務(wù))。然后創(chuàng)建一個(gè)TaskStart任務(wù),該任務(wù)用于設(shè)置時(shí)鐘中斷服務(wù)程序,接著調(diào)用OSStart啟動(dòng)多任務(wù),開始真正多任務(wù)的執(zhí)行。
在操作系統(tǒng)初始化OSInit執(zhí)行之后,用戶可以調(diào)用OSTaskCreate或OSTaskCreateExt來創(chuàng)建用戶任務(wù)。因?yàn)檫@兩個(gè)函數(shù)是內(nèi)核用于創(chuàng)建任務(wù)的,不允許用戶進(jìn)行修改,因此被稱為系統(tǒng)服務(wù)。用戶任務(wù)的程序以函數(shù)的形式由用戶編寫,稱為用戶函數(shù),和操作系統(tǒng)的服務(wù)劃分了界限。很明顯,必須將用戶函數(shù)的地址傳遞給創(chuàng)建任務(wù)的系統(tǒng)服務(wù)。在用戶任務(wù)中,同樣可以調(diào)用OSTaskCreate或OSTaskCreateExt創(chuàng)建其他的任務(wù),也可以調(diào)用OSTaskDel來刪除其他任務(wù)或調(diào)用請(qǐng)求刪除任務(wù)的函數(shù)提交刪除任務(wù)的請(qǐng)求,還可以調(diào)用OSTaskSuspend來暫時(shí)取消任務(wù)自己或其他任務(wù)的執(zhí)行。
因?yàn)閡C/OS-II采用的是搶占式多任務(wù)調(diào)度算法,因此任務(wù)的優(yōu)先級(jí)是至關(guān)重要的,是任務(wù)的唯一標(biāo)識(shí),因此各個(gè)任務(wù)的優(yōu)先級(jí)必須不同。任務(wù)的優(yōu)先級(jí)和任務(wù)的其他信息,如任務(wù)堆棧地址、任務(wù)狀態(tài)、任務(wù)等待事件指針、任務(wù)延遲時(shí)間等信息都保存在一個(gè)名為任務(wù)控制塊(Task Control Block, TCB)的數(shù)據(jù)結(jié)構(gòu)中。不掌握任務(wù)控制塊(TCB)就無法研究和掌握任務(wù)管理。
除了任務(wù)控制塊,uC/OS-II中還設(shè)計(jì)了就緒組和就緒表來標(biāo)志就緒的任務(wù)。就緒的任務(wù)可能不止1個(gè),但有一個(gè)上限——不能超過63個(gè)。任務(wù)調(diào)度程序(時(shí)鐘中斷服務(wù)程序)每隔一段時(shí)間會(huì)執(zhí)行一次,具體的時(shí)間取決于用戶對(duì)時(shí)鐘中斷的設(shè)置。如果設(shè)置為20ms,則每20ms就要執(zhí)行一次任務(wù)調(diào)度。就要從就緒表和就緒組中查找優(yōu)先級(jí)最高的就緒任務(wù)了。因?yàn)槭菍?shí)時(shí)性很高的操作系統(tǒng),不允許查找最高優(yōu)先級(jí)就緒任務(wù)時(shí)間太長(zhǎng),不能因?yàn)槿蝿?wù)多查找起來就慢,任務(wù)少查找起來就快。實(shí)際上uC/OS-II的任務(wù)調(diào)度時(shí)間在一個(gè)指定的嵌入式環(huán)境下是確定的。為了達(dá)到這一點(diǎn),設(shè)計(jì)了一個(gè)巧妙的數(shù)據(jù)結(jié)構(gòu)和算法來實(shí)現(xiàn)這一過程。
為了根據(jù)優(yōu)先級(jí)這一任務(wù)的唯一標(biāo)志來找到任務(wù)的各種屬性,從而執(zhí)行不同的處理,設(shè)計(jì)了任務(wù)優(yōu)先級(jí)指針表OSTCBPrioTbl來快速找到任務(wù)的控制塊。為迅速得到當(dāng)前任務(wù)的控制塊,又定義了任務(wù)快指針OSTCBCur來指示當(dāng)前的任務(wù)塊。
作者:
aronchl
時(shí)間:
2022-5-26 20:19
從0基礎(chǔ)開始學(xué)習(xí)
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1