實(shí)驗(yàn)三進(jìn)程調(diào)度蔡鳳武.doc

實(shí)驗(yàn)三進(jìn)程調(diào)度蔡鳳武.doc

ID:58427454

大?。?16.00 KB

頁(yè)數(shù):18頁(yè)

時(shí)間:2020-09-03

實(shí)驗(yàn)三進(jìn)程調(diào)度蔡鳳武.doc_第1頁(yè)
實(shí)驗(yàn)三進(jìn)程調(diào)度蔡鳳武.doc_第2頁(yè)
實(shí)驗(yàn)三進(jìn)程調(diào)度蔡鳳武.doc_第3頁(yè)
實(shí)驗(yàn)三進(jìn)程調(diào)度蔡鳳武.doc_第4頁(yè)
實(shí)驗(yàn)三進(jìn)程調(diào)度蔡鳳武.doc_第5頁(yè)
資源描述:

《實(shí)驗(yàn)三進(jìn)程調(diào)度蔡鳳武.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、實(shí)驗(yàn)三進(jìn)程調(diào)度實(shí)驗(yàn)?zāi)康?、理解有關(guān)進(jìn)程控制塊、進(jìn)程隊(duì)列的概念。2、掌握進(jìn)程優(yōu)先權(quán)調(diào)度算法和時(shí)間片輪轉(zhuǎn)調(diào)度算法的處理邏輯。實(shí)驗(yàn)內(nèi)容與基本要求1、設(shè)計(jì)進(jìn)程控制塊PCB的結(jié)構(gòu),分別適用于優(yōu)先權(quán)調(diào)度算法和時(shí)間片輪轉(zhuǎn)調(diào)度算法。2、建立進(jìn)程就緒隊(duì)列。3、編制兩種進(jìn)程調(diào)度算法:優(yōu)先權(quán)調(diào)度算法和時(shí)間片輪轉(zhuǎn)調(diào)度算法。實(shí)驗(yàn)報(bào)告內(nèi)容一.優(yōu)先權(quán)調(diào)度算法和時(shí)間片輪轉(zhuǎn)調(diào)度算法原理。對(duì)于優(yōu)先權(quán)調(diào)度算法,其關(guān)鍵是在于是采用靜態(tài)優(yōu)先權(quán)還是動(dòng)態(tài)優(yōu)先權(quán),以及如何確定進(jìn)程的優(yōu)先權(quán)。靜態(tài)優(yōu)先權(quán)是在創(chuàng)建進(jìn)程是確定的,并且規(guī)定它在進(jìn)程的整個(gè)運(yùn)行期間保持不變。動(dòng)態(tài)優(yōu)先權(quán)要配合搶占調(diào)度方式使用,它是指在創(chuàng)建進(jìn)程時(shí)所賦予的

2、優(yōu)先權(quán),可以隨著進(jìn)程的推進(jìn)而發(fā)生改變,以便獲得更好的調(diào)度性能。在就緒隊(duì)列中等待調(diào)度的進(jìn)程,可以隨著等待時(shí)間的增加,其優(yōu)先權(quán)也以某個(gè)速率增加。因此,對(duì)于優(yōu)先權(quán)初值很低的進(jìn)程,在等待足夠時(shí)間后,其優(yōu)先權(quán)也可能升為最高,從而獲得調(diào)度,占用處理器并執(zhí)行。對(duì)已時(shí)間片輪轉(zhuǎn)調(diào)度算法,系統(tǒng)將所有的就緒進(jìn)程按進(jìn)路就緒隊(duì)列的先后次序排列。每次調(diào)度時(shí)把CPU分配給隊(duì)首進(jìn)程,讓其執(zhí)行一個(gè)時(shí)間片,當(dāng)時(shí)間片用完,由計(jì)時(shí)器發(fā)出時(shí)鐘中斷,調(diào)度程序則暫停改程序的執(zhí)行,使其退出處理器,并將它送人就緒隊(duì)的末尾,等待下一輪調(diào)度執(zhí)行。然后,把cpu分配給就緒隊(duì)列中新的隊(duì)首進(jìn)程,同時(shí)讓它執(zhí)行一個(gè)時(shí)間片。二.程序流程

3、圖。結(jié)束就緒隊(duì)列為空嗎二.程序及注釋。#include#include#include#include#include#include#defineP_NUM5#defineP_TIME50enumst{ready,execute,block,finish};//狀態(tài)定義進(jìn)程//structpcb{charname[4];//進(jìn)程名字//intpriority;//進(jìn)程優(yōu)先權(quán)//intcputime;//CPU運(yùn)行時(shí)間//intneedtime;//進(jìn)程運(yùn)行

4、需要的時(shí)間//intcount;//進(jìn)程執(zhí)行次數(shù)//intround;//時(shí)間片輪轉(zhuǎn)輪次//stprocess;//進(jìn)程狀態(tài)//pcb*next;};//定義進(jìn)程//pcb*get_process(){pcb*q;pcb*t;pcb*p;inti=0;cout<<"inputnameandtime"<>q->name;cin>>q->needtime;q->cputime=0;q->priority=P_TIME-q->needtime;q->proces

5、s=ready;q->next=NULL;if(i==0){p=q;t=q;}else{t->next=q;t=q;}i++;}returnp;//輸入模擬測(cè)試的進(jìn)程名和執(zhí)行所需的時(shí)間,初始設(shè)置可模擬5個(gè)進(jìn)程的調(diào)度//}voiddisplay(pcb*p){cout<<"name"<<""<<"cputime"<<""<<"needtime"<<""<<"priority"<<""<<"st"<name;cout<<"";cout<cputime;cout<<"";cout<needtime;cout<<""

6、;cout<priority;cout<<"";switch(p->process){caseready:cout<<"ready"<next;}}//顯示模擬結(jié)果,包含進(jìn)程名,cpu的時(shí)間。運(yùn)行所需時(shí)間以及優(yōu)先級(jí)//intprocess_finish(pcb*q){intbl=1;while(bl&&q

7、){bl=bl&&q->needtime==0;q=q->next;}returnbl;//結(jié)束進(jìn)程,即將隊(duì)列中各進(jìn)程的所需時(shí)間設(shè)置為零//}voidcpuexe(pcb*q){pcb*t=q;inttp=0;while(q){if(q->process!=finish){q->process=ready;if(q->needtime==0)q->process=finish;}if(tppriority&&q->process!=finish){tp=q->priority;t=q;}q=q->next;}if(t-

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

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

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