




已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
實驗一 進程調(diào)度一、目的要求用高級語言編寫和調(diào)試一個進程。以加深對進程的概念及進程調(diào)度算法的理解。二、程序的過程設(shè)計進程調(diào)度算法:采用最高優(yōu)先數(shù)優(yōu)先的調(diào)度算法,即把處理機分配給優(yōu)先數(shù)最高的進程。每個進程由一個進程控制塊(PCB)表示。進程控制塊可以包含如下信息:進程名、優(yōu)先數(shù)、需要運行的時間、已占用的CPU時間、進程狀態(tài)等等。進程的優(yōu)先數(shù)及所需要運行的時間可以事先人為地指定(也可由隨機數(shù)產(chǎn)生)。進程的運行時間以時間片為單位進行計算。每個進程的狀態(tài)可以是就緒W(Wait),運行R(Run),或完成F(Finish)三種狀態(tài)之一。各個就緒進程依優(yōu)先數(shù)從高到低排列??偸前袰PU分配給優(yōu)先數(shù)最高的進程。就緒進程獲得CPU后都只能運行一個時間片。用已占用CPU時間加1來表示。如果運行一個時間片后,進程的已占用CPU時間已達到所需要的運行時間,則撤銷該進程。如果運行一個時間片后進程的已占用CPU時間還未達所需的運行時間,也就是進程還需要繼續(xù)運行,此時應(yīng)將進程的優(yōu)先數(shù)減1(即降低一級),然后把它插入就緒隊列等待CPU。每進行一次調(diào)度程序都打印一次運行進程,就緒隊列。以及各個進程的PCB,以便進行檢查。重復(fù)上述過程,直到所要進程都完成為止。三、調(diào)度算法的流程圖如下:開始初始化PCB,輸入進程信息各進程按優(yōu)先數(shù)從高到低排列 就緒隊列空? 結(jié)束就緒隊列鏈?zhǔn)走M程投入運行時間片到運行進程已占用CPU時間+1運行進程已占用CPU時間已達到所需的運行時間?使運行進程的優(yōu)先數(shù)-1 進程完成把運行進程插入就緒隊列 撤銷該進程四、程序代碼:#include#include#include#define getpcb(type)(type*)malloc(sizeof (type)#define NULL 0#define waittime 2 struct pcb char name10; char state; int super; int ntime; int wtime; int rtime; struct pcb*link; *ready=NULL,*p,*f; typedef struct pcb PCB;void sort();void destroy();void input()int i,num;/ clrscr(); printf(ninput process nunmber?); scanf(%d,&num); for(i=0;iname); printf(nthe super of process:); scanf(%d,&p-super); printf(nthe time need:); scanf(%d,&p-ntime); printf(n); p-rtime=0;p-wtime=0;p-state=w; p-link=NULL; sort(); void sort()PCB *fir,*sec;int ins=0;if(ready=NULL)|(p-super)(ready-super) p-link=ready; ready=p; elsefir=ready; sec=fir-link; while(sec!=NULL) if(p-super)(sec-super) p-link=sec; fir-link=p; sec=NULL; ins=1; elsefir=fir-link; sec=sec-link; if(ins=0)fir-link=p; void sort1(PCB *p)PCB *fir,*sec;PCB *th;int ins=0;fir=ready;th=ready;sec=fir-link;if(ready!=NULL)while(th-link!=p)&(th-link!=NULL)th=th-link;if(fir-link=NULL)|(fir=p) return;else if(p-superready-super)th-link=p-link;p-link=ready;ready=p;else while(sec-link!=p)&(sec-link!=NULL) if(p-super)(sec-super) th-link=p-link; fir-link=p; p-link=sec; elsefir=fir-link; sec=sec-link; void running() f=NULL; (p-rtime)+; if(p-rtime=p-ntime) destroy(); else (p-super)-; p-state=w; p-wtime=0; f=p; / sort(); if(ready!=NULL) p=ready; while(p!=NULL) p-wtime+; if(p-wtime=2) p-super+; p-wtime=0; sort1(p); p=p-link; if(f!=NULL)p=f;sort();int space() int l=0; PCB*pr=ready; while(pr!=NULL) l+; pr=pr-link; return(l);void disp(PCB *pr);void check()PCB*pr; printf(n*Now the process running is:%s,p-name);disp(p);pr=ready;printf(n*Now the ready queue is:n);while(pr!=NULL)disp(pr); pr=pr-link; void disp(PCB *pr)printf(nqnametstatetsupertndtimetwtimetruntimen);printf(|%st,pr-name);printf(|%ct,pr-state);printf(|%dt,pr-super);printf(|%dt,pr-ntime);printf(|%dt,pr-wtime);printf(|%dt,pr-rtime);printf(n);void destroy()printf(nprocess%s has finished.n,p-name); free(p);void main () int len=0, h=0; input(); len=space(); while(len!=0)&(ready!=NULL) getchar(); h+;coutnthe execute numberhlink; p-l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 過敏性紫癜腎炎的護理
- 高端車型抵押貸款服務(wù)協(xié)議
- 高速路口立柱廣告牌年度租賃服務(wù)協(xié)議
- 多發(fā)傷急救與護理
- 環(huán)保標(biāo)準(zhǔn)國際貨物運輸代理協(xié)議
- 廠房租賃合同續(xù)約及押金退還協(xié)議
- 財務(wù)部門負責(zé)人保密義務(wù)及離職后競業(yè)限制協(xié)議
- 餐飲連鎖店簽單掛賬顧客滿意度調(diào)查合同
- 生態(tài)濕地草花苗木養(yǎng)護與采購一體化合同
- 澳大利亞雇主擔(dān)保移民項目合作協(xié)議
- 變電站電氣設(shè)備管理制度
- 50篇短文搞定高考英語3500單詞
- 2025年四川省內(nèi)江市中考數(shù)學(xué)試題【含答案解析】
- 外研社版小學(xué)英語(三起)四年級下冊單詞默寫表
- 2025年瀘州市中考數(shù)學(xué)試卷真題(含答案解析)
- 河南省豫地科技集團有限公司招聘筆試真題2024
- 2025年安徽省醫(yī)師考核管理試題
- 胃管護理操作規(guī)范與管理要點
- JG/T 446-2014建筑用蓄光型發(fā)光涂料
- 人文關(guān)懷在護理工作中的意義
- 2025杭州市臨安區(qū)事業(yè)單位招聘80人考前自測高頻考點模擬試題附答案詳解(鞏固)
評論
0/150
提交評論