動(dòng)態(tài)高優(yōu)先權(quán)優(yōu)先.doc

動(dòng)態(tài)高優(yōu)先權(quán)優(yōu)先.doc

ID:55563079

大小:121.00 KB

頁數(shù):7頁

時(shí)間:2020-05-17

動(dòng)態(tài)高優(yōu)先權(quán)優(yōu)先.doc_第1頁
動(dòng)態(tài)高優(yōu)先權(quán)優(yōu)先.doc_第2頁
動(dòng)態(tài)高優(yōu)先權(quán)優(yōu)先.doc_第3頁
動(dòng)態(tài)高優(yōu)先權(quán)優(yōu)先.doc_第4頁
動(dòng)態(tài)高優(yōu)先權(quán)優(yōu)先.doc_第5頁
資源描述:

《動(dòng)態(tài)高優(yōu)先權(quán)優(yōu)先.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、實(shí)驗(yàn)一動(dòng)態(tài)高優(yōu)先權(quán)優(yōu)先實(shí)驗(yàn)內(nèi)容:模擬實(shí)現(xiàn)動(dòng)態(tài)高優(yōu)先權(quán)優(yōu)先(若數(shù)值越大優(yōu)先權(quán)越高,每運(yùn)行一個(gè)時(shí)間單位優(yōu)先權(quán)-n,若數(shù)值越小優(yōu)先權(quán)越高,沒運(yùn)行一個(gè)時(shí)間單位優(yōu)先權(quán)+n),具體如下:設(shè)置進(jìn)程體:進(jìn)程名,進(jìn)程的到達(dá)時(shí)間,服務(wù)時(shí)間,初始優(yōu)先權(quán),進(jìn)程狀態(tài)(W——等待,R——運(yùn)行,F——完成),進(jìn)程間的鏈接指針進(jìn)程初始化:由用戶輸入進(jìn)程名、服務(wù)時(shí)間、初始優(yōu)先權(quán)進(jìn)行初始化,同時(shí),初始化進(jìn)程的狀態(tài)為W。顯示函數(shù):在進(jìn)程調(diào)度前、調(diào)度中和調(diào)度后進(jìn)行顯示。排序函數(shù):對就緒狀態(tài)的進(jìn)程按照優(yōu)先權(quán)排序。優(yōu)先權(quán)相同時(shí)進(jìn)入就緒隊(duì)列時(shí)間早的進(jìn)程在前。注意考慮到達(dá)時(shí)間調(diào)度函數(shù):每次從就緒隊(duì)列隊(duì)首調(diào)度優(yōu)先權(quán)最高的進(jìn)程

2、執(zhí)行,狀態(tài)變化。并在執(zhí)行一個(gè)時(shí)間單位后優(yōu)先權(quán)變化,服務(wù)時(shí)間變化,狀態(tài)變化。當(dāng)服務(wù)時(shí)間為0時(shí),狀態(tài)變?yōu)镕。刪除函數(shù):撤銷狀態(tài)為F的進(jìn)行。實(shí)驗(yàn)要求:1、測試數(shù)據(jù)可以隨即輸入或從文件中讀入。2、必須要考慮到進(jìn)程的到達(dá)時(shí)間3、最終能夠計(jì)算每一個(gè)進(jìn)程的周轉(zhuǎn)時(shí)間的帶權(quán)周轉(zhuǎn)時(shí)間。實(shí)驗(yàn)代碼:#include#include#includeusingnamespacestd;intn;classPCB{public:intpri;intruntime;intpieceOftime;stringprocname;stringstate;intn

3、eedOftime;intCounter;PCB*next;};PCB*run=NULL;PCB*ready=NULL;PCB*finish=NULL;PCB*tial=ready;voidDtime(intt);voidPrinft(inta){if(a==1){cout<<"進(jìn)程名t到達(dá)時(shí)間t服務(wù)時(shí)間t優(yōu)先權(quán)t進(jìn)程狀態(tài)"<procname<<"t"<needOftime<<"tt"<runtime<<"tt"<pri<<"t"<

4、state<next;}p=finish;while(p!=NULL){Prinft(c,p);p=p->next;}}voidinsert(PCB*p){PCB*S1,*S2;if(ready==NULL){p->next=NULL;ready=p;}else{S1=ready;S2=S1;while(S1!=NULL){if(S1->pri>=p->pri){S2=S1

5、;S1=S1->next;}elsebreak;}if(S2->pri>=p->pri){S2->next=p;p->next=S1;}else{p->next=ready;ready=p;}}}boolCTProcessOfPri(){PCB*Node;cout<<"輸入創(chuàng)建進(jìn)程的數(shù)目:"<>n;for(intj=0;j>Node->procname>>Node->needOftim

6、e;Node->runtime=0;Node->state="就緒";Node->pri=Node->needOftime;cout<<"進(jìn)程"<procname<<"創(chuàng)建完畢!"<next;run->state="運(yùn)行";Prinft(i);while(run!=NULL){run->runtime=run->runtime+1;run->needOftime=run->needOftime-1;run->pri

7、=run->pri-1;if(run->needOftime==0){run->state="完成";run->next=finish;finish=run;run=NULL;if(ready!=NULL){run=ready;run->state="運(yùn)行";ready=ready->next;}}elseif((ready!=NULL)&&(run->pripri)){run->state="就緒";insert(run);run=ready;run->state="運(yùn)行";ready

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

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

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