單處理器系統(tǒng)的進(jìn)程調(diào)度

單處理器系統(tǒng)的進(jìn)程調(diào)度

ID:38762402

大?。?4.78 KB

頁數(shù):13頁

時間:2019-06-19

單處理器系統(tǒng)的進(jìn)程調(diào)度_第1頁
單處理器系統(tǒng)的進(jìn)程調(diào)度_第2頁
單處理器系統(tǒng)的進(jìn)程調(diào)度_第3頁
單處理器系統(tǒng)的進(jìn)程調(diào)度_第4頁
單處理器系統(tǒng)的進(jìn)程調(diào)度_第5頁
資源描述:

《單處理器系統(tǒng)的進(jìn)程調(diào)度》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、一.一、?單處理器系統(tǒng)的進(jìn)程調(diào)度1.實(shí)驗(yàn)?zāi)康脑诓捎枚嗟莱绦蛟O(shè)計的系統(tǒng)中,往往有若干個進(jìn)程同時處于就緒狀態(tài)。當(dāng)就緒進(jìn)程個數(shù)大于處理器數(shù)時,就必須依照某種策略來決定哪些進(jìn)程優(yōu)先占用處理器。本實(shí)驗(yàn)?zāi)M在單處理器情況下的處理器調(diào)度,幫助學(xué)生加深了解處理器調(diào)度的工作。2.實(shí)驗(yàn)內(nèi)容與要求(1)設(shè)計多個進(jìn)程并發(fā)執(zhí)行的模擬調(diào)度程序,每個程序由一個PCB表示。(2)模擬調(diào)度程序可任選兩種調(diào)度算法之一實(shí)現(xiàn)。(3)程序執(zhí)行中應(yīng)能在屏幕上顯示出各進(jìn)程的狀態(tài)變化,以便于觀察調(diào)度的整個過程。3.實(shí)驗(yàn)說明設(shè)計一個按優(yōu)先數(shù)調(diào)度算法實(shí)現(xiàn)處理器調(diào)度的程序。(1)假定系統(tǒng)有五個

2、進(jìn)程,每一個進(jìn)程用一個進(jìn)程控制塊PCB來代表,進(jìn)程控制塊的格式為:進(jìn)程名指針要求運(yùn)行時間優(yōu)先數(shù)狀態(tài)其中,進(jìn)程名——作為進(jìn)程的標(biāo)識,假設(shè)五個進(jìn)程的進(jìn)程名分別為P1,P2,P3,P4,P5。指針——按優(yōu)先數(shù)的大小把五個進(jìn)程連成隊(duì)列,用指針指出下一個進(jìn)程的進(jìn)程控制塊的首地址,最后一個進(jìn)程中的指針為“0”。要求運(yùn)行時間——假設(shè)進(jìn)程需要運(yùn)行的單位時間數(shù)。優(yōu)先數(shù)——賦予進(jìn)程的優(yōu)先數(shù),調(diào)度時總是選取優(yōu)先數(shù)大的進(jìn)程先執(zhí)行。狀態(tài)——可假設(shè)有兩種狀態(tài),“就緒”狀態(tài)和“結(jié)束”狀態(tài)。五個進(jìn)程的初始狀態(tài)都為“就緒”,用“R”表示,當(dāng)一個進(jìn)程運(yùn)行結(jié)束后,它的狀態(tài)為“結(jié)

3、束”,用“E”表示。(2)在每次運(yùn)行你所設(shè)計的處理器調(diào)度程序之前,為每個進(jìn)程任意確定它的“優(yōu)先數(shù)”和“要求運(yùn)行時間”。(3)為了調(diào)度方便,把五個進(jìn)程按給定的優(yōu)先數(shù)從大到小連成隊(duì)列。用一單元指出隊(duì)首進(jìn)程,用指針指出隊(duì)列的連接情況。例:隊(duì)首標(biāo)志K2K1P1K2P2K3P3K4P4K5P50K4K5K3K12312415342RRRRRPCB1PCB2PCB3PCB4PCB5(4)處理器調(diào)度總是選隊(duì)首進(jìn)程運(yùn)行。采用動態(tài)改變優(yōu)先數(shù)的辦法,進(jìn)程每運(yùn)行一次優(yōu)先數(shù)就減“1”。由于本實(shí)驗(yàn)是模擬處理器調(diào)度,所以,對被選中的進(jìn)程并不實(shí)際的啟動運(yùn)行,而是執(zhí)行:優(yōu)

4、先數(shù)-1要求運(yùn)行時間-1來模擬進(jìn)程的一次運(yùn)行。提醒注意的是:在實(shí)際的系統(tǒng)中,當(dāng)一個進(jìn)程被選中運(yùn)行時,必須恢復(fù)進(jìn)程的現(xiàn)場,讓它占有處理器運(yùn)行,直到出現(xiàn)等待事件或運(yùn)行結(jié)束。在這里省去了這些工作。(5)進(jìn)程運(yùn)行一次后,若要求運(yùn)行時間10,則再將它加入隊(duì)列(按優(yōu)先數(shù)大小插入,且置隊(duì)首標(biāo)志);若要求運(yùn)行時間=0,則把它的狀態(tài)修改成“結(jié)束”(E),且退出隊(duì)列。(6)若“就緒”狀態(tài)的進(jìn)程隊(duì)列不為空,則重復(fù)上面(4)和(5)的步驟,直到所有進(jìn)程都成為“結(jié)束”狀態(tài)。(7)在所設(shè)計的程序中應(yīng)有顯示或打印語句,能顯示或打印每次被選中進(jìn)程的進(jìn)程名以及運(yùn)行一次后進(jìn)程

5、隊(duì)列的變化。(8)為五個進(jìn)程任意確定一組“優(yōu)先數(shù)”和“要求運(yùn)行時間”,啟動所設(shè)計的處理器調(diào)度程序,顯示或打印逐次被選中進(jìn)程的進(jìn)程名以及進(jìn)程控制塊的動態(tài)變化過程。4.實(shí)驗(yàn)步驟本次實(shí)驗(yàn)的思想是,首先將實(shí)驗(yàn)給定的五個進(jìn)程分別用一個進(jìn)程控制塊PCB來代表,其實(shí)現(xiàn)方法是用一個結(jié)構(gòu)體類型來表示,在此結(jié)構(gòu)體中分別有進(jìn)程名、進(jìn)程要求運(yùn)行時間、進(jìn)程優(yōu)先級、進(jìn)程狀態(tài)和指向下一個進(jìn)程控制塊的指針,其定義如下:typedefstructPCB{intid;進(jìn)程名字p1、p2、p3、p4、p5structPCB*next;指針,指示下一個進(jìn)程位置intruntime

6、;進(jìn)程要求運(yùn)行時間intpriority;進(jìn)程的優(yōu)先級charstatus;進(jìn)程狀態(tài)R或E,結(jié)束或是就緒}*pcb;在這之后便是創(chuàng)建預(yù)先隊(duì)列,方法是將進(jìn)程按照給定的優(yōu)先級從大到小構(gòu)成一個優(yōu)先隊(duì)列。這樣做的原因是在進(jìn)行進(jìn)程調(diào)用時,是系統(tǒng)是按照其優(yōu)先級由大到小的順序進(jìn)行調(diào)用的,每次被調(diào)用的總是優(yōu)先級數(shù)最大的進(jìn)程,所以應(yīng)該將事先給定的五個進(jìn)程由大到小安排(按優(yōu)先級)。其實(shí)現(xiàn)方法是首先創(chuàng)建鏈表表頭,之后依次將優(yōu)先級最大的進(jìn)程插入至表頭之后。數(shù)據(jù)結(jié)構(gòu)如下:voidcreate(PCB*head){inta,b;a為進(jìn)程要求運(yùn)行時間,b為進(jìn)程優(yōu)先級he

7、ad->next=NULL;for(inti=1;i=5;i++){cout<<"-------P"<>a>>b;PCB*p=newPCB;PCB*q=h->next;輸入進(jìn)程信息p->id=i;p->runtime=a;p->priority=b;p->status='R';while((q==NULL)

8、

9、(p->priority>q->priority)){如果輸入進(jìn)程優(yōu)先級p->next=head->next;大于第一個進(jìn)程優(yōu)先級,head->next=p;將其插入頭指針之后}while((p->

10、prioritynext->priority)&&(q->next!=NULL)){q=q->next;如不是,}那么尋找p->next=q->next;第一個q->ne

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

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

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