版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、.實驗二作業(yè)調(diào)度一. 實驗題目1、編寫并調(diào)試一個單道處理系統(tǒng)的作業(yè)等待模擬程序。作業(yè)調(diào)度算法:分別采用先來先服務(FCFS),最短作業(yè)優(yōu)先(SJF)的調(diào)度算法。( 1)先來先服務算法: 按照作業(yè)提交給系統(tǒng)的先后順序來挑選作業(yè),先提交的先被挑選。( 2)最短作業(yè)優(yōu)先算法: 是以進入系統(tǒng)的作業(yè)所提出的 “執(zhí)行時間 ”為標準,總是優(yōu)先選取執(zhí)行時間最短的作業(yè)。二 . 實驗目的:本實驗要求用高級語言 (C 語言實驗環(huán)境) 編寫和調(diào)試一個或多個作業(yè)調(diào)度的模擬程序,了解作業(yè)調(diào)度在操作系統(tǒng)中的作用,以加深對作業(yè)調(diào)度算法的理解三 .實驗過程單道處理系統(tǒng)作業(yè)調(diào)度1)單道處理程序作業(yè)調(diào)度實驗的源程序: zuoye.
2、c執(zhí)行程序 : zuoye.exe2) 實驗分析:1、由于在單道批處理系統(tǒng)中,作業(yè)一投入運行,它就占有計算機的一切資源直到作業(yè)完成為止, 因此調(diào)度作業(yè)時不必考慮它所需要的資源是否得到滿足,它所占用的CPU 時限等因素。2、每個作業(yè)由一個作業(yè)控制塊JCB 表示, JCB 可以包含如下信息:作業(yè)名、提交時間、 所需的運行時間、所需的資源、作業(yè)狀態(tài)、 鏈指針等等。 作業(yè)的狀態(tài)可以是等待W(Wait) 、運行R(Run)和完成 F(Finish)三種狀態(tài)之一。 每個作業(yè)的最初狀態(tài)總是等待W。3、對每種調(diào)度算法都要求打印每個作業(yè)開始運行時刻、 完成時刻、周轉(zhuǎn)時間、帶權(quán)周轉(zhuǎn)時間, 以及這組作業(yè)的平均周轉(zhuǎn)時
3、間及帶權(quán)平均周轉(zhuǎn)時間。3) 流程圖 :.代替二 . 最短作業(yè)優(yōu)先算法代替三. 高響應比算法圖一 . 先來先服務流程圖4) 源程序 :#include #include #include #define getpch(type) (type*)malloc(sizeof(type)#define NULL 0int n;float T1=0,T2=0;int times=0;struct jcb/作業(yè)控制塊char name10;/作業(yè)名int reachtime;/作業(yè)到達時間int starttime; /作業(yè)開始時間int needtime;/作業(yè)需要運行的時間float super;/作
4、業(yè)的響應比int finishtime;/作業(yè)完成時間float cycletime;/作業(yè)周轉(zhuǎn)時間float cltime;/作業(yè)帶權(quán)周轉(zhuǎn)時間char state;/作業(yè)狀態(tài)struct jcb *next;/結(jié)構(gòu)體指針*ready=NULL,*p,*q;typedef struct jcb JCB;void inize()/初始化界面.printf(nntt*ttn);printf(tttt實驗二 作業(yè)調(diào)度 n);printf(tt*ttn);printf(nnnttttt計算機學院軟件四班n);printf(ttttt藍小花 n);printf(ttttt3204007102n);pri
5、ntf(ttttt完成日期: 2006 年 11 月 17 號 );printf(nnntt請輸入任意鍵進入演示過程n);getch();void inital()/建立作業(yè)控制塊隊列, 先將其排成先來先服務的模式隊列int i;printf(n輸入作業(yè)數(shù) :);scanf(%d,&n);for(i=0;iname);getch();p-reachtime=i;printf(作業(yè)默認到達時間:%d,i);printf(n輸入作業(yè)要運行的時間:);scanf(%d,&p-needtime);p-state=W;p-next=NULL;if(ready=NULL) ready=q=p;elseq-
6、next=p;q=p;void disp(JCB* q,int m)/顯示作業(yè)運行后的周轉(zhuǎn)時間及帶權(quán)周轉(zhuǎn)時間等if(m=3)/顯示高響應比算法調(diào)度作業(yè)后的運行情況printf(n作業(yè) %s正在運行,估計其運行情況:n,q-name);printf(開始運行時刻:%dn,q-starttime);printf(完成時刻: %dn,q-finishtime);.printf(周轉(zhuǎn)時間: %fn,q-cycletime);printf(帶權(quán)周轉(zhuǎn)時間:%fn,q-cltime);printf(相應比 :%fn,q-super);getch();else/顯示先來先服務, 最短作業(yè)優(yōu)先算法調(diào)度后作業(yè)的運
7、行情況printf(n作業(yè) %s正在運行,估計其運行情況:n,q-name);printf(開始運行時刻:%dn,q-starttime);printf(完成時刻: %dn,q-finishtime);printf(周轉(zhuǎn)時間: %fn,q-cycletime);printf(帶權(quán)周轉(zhuǎn)時間:%fn,q-cltime);getch();void running(JCB *p,int m)/運行作業(yè)if(p=ready)/先將要運行的作業(yè)從隊列中分離出來ready=p-next;p-next=NULL;elseq=ready;while(q-next!=p) q=q-next;q-next=p-ne
8、xt;p-starttime=times;/計算作業(yè)運行后的完成時間, 周轉(zhuǎn)時間等等p-state=R;p-finishtime=p-starttime+p-needtime;p-cycletime=(float)(p-finishtime-p-reachtime);p-cltime=(float)(p-cycletime/p-needtime);T1+=p-cycletime;T2+=p-cltime;disp(p,m);/調(diào)用 disp()函數(shù) , 顯示作業(yè)運行情況times+=p-needtime;p-state=F;printf(n%shasbeenfinished!npressany
9、keytocontinue.n,p-name);free(p);/釋放運行后的作業(yè)getch();.void super()/計算隊列中作業(yè)的高響應比JCB *padv;padv=ready;doif(padv-state=W&padv-reachtimesuper=(float)(times-padv-reachtime+padv-needtime)/padv-needtimepadv=padv-next;while(padv!=NULL);void final()/最后打印作業(yè)的平均周轉(zhuǎn)時間, 平均帶權(quán)周轉(zhuǎn)時間float s,t;t=T1/n;s=T2/n;getch();printf(n
10、n作業(yè)已經(jīng)全部完成!);printf(n%d個作業(yè)的平均周轉(zhuǎn)時間是:%f,n,t);printf(n%d個作業(yè)的平均帶權(quán)周轉(zhuǎn)時間是%f: nnn,n,s);void hrn(int m)/高響應比算法JCB *min;int i,iden;system(cls);inital();for(i=0;istate=W&p-reachtimesupermin-super) min=p;p=p-next;while(p!=NULL);if(iden).i-;times+;/printf(ntime=%d:tno JCB submib.wait.,time);if(times1000)printf(nr
11、untime is too long.error.);getch();elserunning(min,m);/調(diào)用 running()函數(shù)/forfinal();/調(diào)用 running()函數(shù)void sjf(int m)/最短作業(yè)優(yōu)先算法JCB *min;int i,iden;system(cls);inital();for(i=0;istate=W&p-reachtimeneedtimeneedtime) min=p;p=p-next;while(p!=NULL) ;if(iden) i-; /printf(ntime=%d:tno JCB submib.wait.,time);times
12、+;if(times100)printf(nruntime is too long.error);getch();elserunning(min,m);/調(diào)用 running()函數(shù) /forfinal();/調(diào)用 running()函數(shù)void fcfs(int m)/先來先服務算法.int i,iden;system(cls);inital();for(i=0;istate=W&p-reachtimenext;while(p!=NULL&iden) ;if(iden)i-;printf(n沒有滿足要求的進程, 需等待 );times+;if(times100)printf(n時間過長 );
13、getch();elserunning(p,m);/調(diào)用 running()函數(shù)final();/調(diào)用 running()函數(shù)void mune()int m;system(cls);printf(nntt*ttn);printf(tttt作業(yè)調(diào)度演示n);printf(tt*ttn);printf(nnnttt1.先來先服務算法.);printf(nttt2.最短作業(yè)優(yōu)先算法.);printf(nttt3.響應比高者優(yōu)先算法);printf(nttt0.退出程序 .);printf(nntttt選擇所要操作:);scanf(%d,&m);switch(m)case 1:fcfs(m);getch();system(cls);mune();.break;case 2:sjf(m);getch();system(cls);mune();break;case 3:hrn(m);getch();system(cls);mune();break;case 0:system(cls);break;default:pr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年開遠市興遠開發(fā)投資集團有限公司招聘備考題庫及答案詳解1套
- 2026年墨玉縣國有資產(chǎn)投資經(jīng)營管理有限責任公司公開招聘備考題庫及一套參考答案詳解
- 2026年南昌市安義縣總醫(yī)院縣人民醫(yī)院院區(qū)編外合同制工作人員招聘備考題庫及參考答案詳解一套
- 2026年廣東省食品進出口集團有限公司招聘備考題庫及答案詳解1套
- 2026年天津人力資源開發(fā)服務有限公司招聘國有大型銀行派遣制客服代表備考題庫參考答案詳解
- 2026年東莞市松山湖第一小學面向全國招聘備考題庫附答案詳解
- 2026年佛山市順德區(qū)倫教周君令初級中學招聘臨聘教師備考題庫及完整答案詳解一套
- 2025年縉云縣保安服務有限公司公開招聘國有企業(yè)項目用工備考題庫完整答案詳解
- 工程部門內(nèi)控制度
- 農(nóng)業(yè)巨災保險內(nèi)控制度
- 斜拉索無應力索長的計算
- 智慧機場綜合安防系統(tǒng)解決方案
- 2024年高中英語學業(yè)水平測試及答案
- 天塔之光模擬控制PLC課程設(shè)計
- 初中日語人教版七年級第一冊單詞表講義
- GB/T 9065.5-2010液壓軟管接頭第5部分:37°擴口端軟管接頭
- GB/T 5847-2004尺寸鏈計算方法
- GB/T 20475.2-2006煤中有害元素含量分級第2部分:氯
- 北師大版一年級數(shù)學上冊口算比賽試題試卷
- 畢業(yè)設(shè)計混凝土框架結(jié)構(gòu)計算書
- 4226-2022連續(xù)腎臟替代治療裝置臨床使用安全管理與質(zhì)量控制規(guī)范
評論
0/150
提交評論