新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > uC/OS-II 學(xué)習(xí)筆記之:任務(wù)的概念

        uC/OS-II 學(xué)習(xí)筆記之:任務(wù)的概念

        作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

        一、任務(wù):一個任務(wù),也叫一個線程,是一個簡單程序,改程序可以認為CPU完全只屬于自己。每個任務(wù)都是整個應(yīng)用的某一部分,

        本文引用地址:http://www.104case.com/article/201609/303414.htm

        每個任務(wù)被賦予一定的優(yōu)先級,有它自己的一套CPU寄存器和棧空間。

        二、多任務(wù):多任務(wù)運行的實現(xiàn)實際是靠CPU在許多任務(wù)之間轉(zhuǎn)換、調(diào)度。CPU輪流服務(wù)于一系列任務(wù)中的某一個。

        三、任務(wù)狀態(tài):每個任務(wù)都是一個無限循環(huán)。每個任務(wù)都處在以下5種狀態(tài)之一:

        1)睡眠態(tài):任務(wù)只是以代碼的形式駐留在程序空間(ROM或RAM),還沒有交給操作系統(tǒng)管理時的情況叫做睡眠態(tài)(也稱休眠態(tài))。

        簡單說,任務(wù)在沒有被配備任務(wù)控制塊或被剝奪了任務(wù)控制塊時的狀態(tài)叫做任務(wù)的睡眠態(tài)。

        2)就緒態(tài):如果系統(tǒng)為任務(wù)配備了任務(wù)控制塊且在任務(wù)就續(xù)表中進行了就緒登記,則任務(wù)就具備了運行的充分條件,

        這時任務(wù)的狀態(tài)就叫做就緒態(tài)。

        3)運行態(tài):處于就緒態(tài)的任務(wù)如果經(jīng)調(diào)度器的判斷獲得了CPU的使用權(quán),則任務(wù)就進入運行狀態(tài)。

        注:任何時刻只能有一個任務(wù)處于運行態(tài),就緒的任務(wù)只有當所有優(yōu)先級高于本任務(wù)的任務(wù)都轉(zhuǎn)為等待狀態(tài)時,才能進入運行態(tài)。

        4)等待態(tài):正在運行的任務(wù),需要等待一段時間或需要等待一個事件發(fā)生再運行時,該任務(wù)就會把CPU的使用權(quán)讓給其它任務(wù)而使任務(wù)進入等待態(tài)(也稱阻塞態(tài))。

        5)中斷態(tài):一個正在運行的任務(wù)一旦響應(yīng)中斷申請就會中止運行而去執(zhí)行中斷服務(wù)程序,這時任務(wù)的狀態(tài)叫做中斷服務(wù)狀態(tài)(也稱掛起態(tài))。

        四、任務(wù)不是普通的C語言函數(shù),因此不能被主函數(shù)或其它函數(shù)調(diào)用,主函數(shù)只負責創(chuàng)建和啟動它們,而由操作系統(tǒng)負責來調(diào)度運行它們。

        五、uC/OS-II中預(yù)定義了兩個為應(yīng)用程序服務(wù)的系統(tǒng)任務(wù):空閑任務(wù)和統(tǒng)計任務(wù)。

        其中空閑任務(wù)是每個應(yīng)用程序必須使用的,而統(tǒng)計任務(wù)是應(yīng)用程序根據(jù)實際需要來選擇使用的。

        六、任務(wù)的組成:任務(wù)控制塊、任務(wù)代碼、任務(wù)堆棧。

        七、創(chuàng)建任務(wù)的函數(shù):

        INT8U OSTaskCreate (

        void (*task)(void *pd),//定義一個函數(shù)指針

        void *pdata,//傳遞給任務(wù)的參數(shù)

        OS_STK *ptos,//任務(wù)堆棧棧頂?shù)闹羔?/p>

        INT8U prio//指定任務(wù)優(yōu)先級的參數(shù)

        )

        參: 任哲 《嵌入式實時操作系統(tǒng)uC/OS-II原理及應(yīng)用》

        參: 盧有亮 《嵌入式實時操作系統(tǒng)uC/OS原理與實踐》



        關(guān)鍵詞:

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 云梦县| 南康市| 成都市| 通化市| 东辽县| 兴城市| 仁怀市| 左权县| 钟祥市| 马龙县| 庆城县| 嘉兴市| 方山县| 新巴尔虎右旗| 临西县| 乐陵市| 江山市| 宝清县| 朝阳县| 久治县| 印江| 师宗县| 昌邑市| 抚远县| 台东县| 惠州市| 巴彦县| 岑溪市| 兰西县| 保山市| 讷河市| 永州市| 肥城市| 中江县| 安国市| 乌拉特后旗| 武山县| 兰考县| 远安县| 宜黄县| 社旗县|