時間片輪詢多任務(wù)操作系統(tǒng)教材.ppt

時間片輪詢多任務(wù)操作系統(tǒng)教材.ppt

ID:51572223

大?。?98.50 KB

頁數(shù):31頁

時間:2020-03-23

時間片輪詢多任務(wù)操作系統(tǒng)教材.ppt_第1頁
時間片輪詢多任務(wù)操作系統(tǒng)教材.ppt_第2頁
時間片輪詢多任務(wù)操作系統(tǒng)教材.ppt_第3頁
時間片輪詢多任務(wù)操作系統(tǒng)教材.ppt_第4頁
時間片輪詢多任務(wù)操作系統(tǒng)教材.ppt_第5頁
資源描述:

《時間片輪詢多任務(wù)操作系統(tǒng)教材.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在PPT專區(qū)-天天文庫

1、5.4時間片輪詢多任務(wù)操作系統(tǒng)目錄1概述2整體規(guī)劃3任務(wù)控制塊4內(nèi)部變量初始化5創(chuàng)建任務(wù)6啟動多任務(wù)環(huán)境longjmpInIsr()9任務(wù)調(diào)度7時鐘節(jié)拍中斷8任務(wù)延時10刪除任務(wù)11運行的任務(wù)難以得知其他任務(wù)狀態(tài),任務(wù)切換時機難以把握。如果一個任務(wù)死掉,勢必造成整個系統(tǒng)死掉。協(xié)作式多任務(wù)系統(tǒng)任務(wù)協(xié)作式多任務(wù)系統(tǒng)的特點安全性復雜性協(xié)作式多任務(wù)系統(tǒng)中,任務(wù)切換需正在運行的任務(wù)主動讓出CPU,這不僅帶來一些安全隱患,而且使程序設(shè)計相當?shù)膹碗s。任務(wù)調(diào)度任務(wù)調(diào)度交給操作系統(tǒng),引入調(diào)度算法調(diào)度算法時間片輪詢1優(yōu)先級調(diào)度

2、2帶優(yōu)先級調(diào)度的時間片輪詢3調(diào)度算法時間片輪詢1tt任務(wù)的運行時間時間片輪詢系統(tǒng)中任務(wù)運行情況在時間片輪詢操作系統(tǒng)中,CPU的執(zhí)行時間被劃分為若干時間片,然后讓處于就緒狀態(tài)的任務(wù),按順序輪流占用CPU。當時間片用完時,即使任務(wù)未執(zhí)行完,系統(tǒng)也剝奪此任務(wù)的CPU使用權(quán)力。時間片長度Δt一般為1~10ms優(yōu)先級調(diào)度2帶優(yōu)先級調(diào)度的時間片輪詢3任務(wù)A任務(wù)B任務(wù)C所有任務(wù)相同對待,分時運行。調(diào)度算法時間片輪詢1優(yōu)先級調(diào)度2帶優(yōu)先級調(diào)度的時間片輪詢3+低優(yōu)先級+中優(yōu)先級+高優(yōu)先級任務(wù)A任務(wù)B任務(wù)Ct高優(yōu)先級任務(wù)先運行

3、t高優(yōu)先級任務(wù)搶占低優(yōu)先級任務(wù)不同任務(wù)不同對待,優(yōu)先級高任務(wù)的先運行。調(diào)度算法時間片輪詢1優(yōu)先級調(diào)度2帶優(yōu)先級調(diào)度的時間片輪詢3這種調(diào)度算法情況較復雜,類型較多,自己去學習了解。任務(wù)切換時機分配給任務(wù)的時間片已到任務(wù)主動請求調(diào)度12任務(wù)在調(diào)用操作系統(tǒng)提供的“管理”類服務(wù)(如刪除任務(wù)等)和“等待”類服務(wù)(如延時、獲取信號量、等待消息等)時,會主動請求調(diào)度。操作系統(tǒng)采用一個周期性的中斷來管理時間片,在這個中斷服務(wù)函數(shù)中,判斷運行的任務(wù)是否用完了時間片。中斷中切換任務(wù)使用時間片輪詢調(diào)度的操作系統(tǒng)中,會在兩種下進行

4、任務(wù)切換。目錄2整體規(guī)劃1概述34任務(wù)控制塊內(nèi)部變量初始化時間片輪詢操作系統(tǒng)規(guī)劃時間片輪詢調(diào)度算法時間片輪詢多任務(wù)操作系統(tǒng)協(xié)作式多任務(wù)系統(tǒng)TinyOS51V1.0TinyOS51V1.1TinyOS51V1.1采用最簡單的時間片輪詢調(diào)度算法,在每個時鐘節(jié)拍中斷時調(diào)度,即分配給任務(wù)的時間片為一個時鐘節(jié)拍。這樣,在任務(wù)控制塊中不僅不需要保存時鐘任務(wù)剩余的時鐘節(jié)拍,而且也不必編寫計算任務(wù)的剩余時間和設(shè)置任務(wù)時間片的代碼。TinyOS51從V1.0到V1.1的改變TinyOS51V1.0TinyOS51v1.1任務(wù)

5、調(diào)度函數(shù)tnOsSched()__tnOsSched()任務(wù)延時函數(shù)無tnOsTimeDly()時鐘節(jié)拍處理函數(shù)無tnOsTimeTick()TinyOS51V1.0和TinyOS51V1.1的API不同點提供操作系統(tǒng)的一種基本服務(wù)——延時服務(wù),延時以時鐘節(jié)拍為單位。在TinyOS51中,時鐘節(jié)拍中斷由用戶實現(xiàn),在時鐘節(jié)拍中斷處理函數(shù)中調(diào)用tnOsTimeTick()。voidtask0(void){TMOD=(TMOD&0xF0)

6、0x01;TL0=0x00;//TH0=0x00;//初始化timer0,

7、即TR0=1;//初始化時鐘節(jié)拍ET0=1;//中斷。TF0=0;//while(1){__GucTask0++;}}/**一個簡單的任務(wù),無限循環(huán)中讓*__GucTask0++。*/voidtask1(void){while(1){__GucTask0++;}}/**用戶實現(xiàn)時鐘節(jié)拍中斷服務(wù)函數(shù),*并調(diào)用tnOsTimeTick()。*/voidtimer0ISR(void)__interrupt1{tnOsTimeTick();}/**1.初始化系統(tǒng)*2.創(chuàng)建任務(wù)*3.啟動系統(tǒng)*/voidmain(vo

8、id){tnOsInit();tnOsTaskCreate(task0,__GucTaskStks[0];tnOsTaskCreate(task1,__GucTaskStk[1]);tnOsStart();}資源配置與示例任務(wù)函數(shù)task0()和task1()時鐘節(jié)拍中斷服務(wù)函數(shù)timer0ISR()main函數(shù)main()staticidataunsignedchar__GucTaskStk[2][32];staticunsignedchar__GucTask0;staticunsignedchar__G

9、ucTask1;//分配任務(wù)堆棧//任務(wù)0測試變量//任務(wù)1測試變量全局變量定義函數(shù)實現(xiàn)目錄3任務(wù)控制塊45內(nèi)部變量初始化創(chuàng)建任務(wù)12概述整體規(guī)劃任務(wù)控制塊TinyOS51V1.1增加了延時服務(wù)功能,因此,在TCB中增加了一個記錄時間的成員uiTicks。#define__TN_TASK_FLG_DEL0x00//任務(wù)被刪除#define__TN_TASK_FLG_RDY0x01//任務(wù)就緒#define__TN

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。