操作系統(tǒng)調(diào)度算法試驗報告_第1頁
操作系統(tǒng)調(diào)度算法試驗報告_第2頁
操作系統(tǒng)調(diào)度算法試驗報告_第3頁
操作系統(tǒng)調(diào)度算法試驗報告_第4頁
操作系統(tǒng)調(diào)度算法試驗報告_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、南京信息工程大學(xué)實驗(實習(xí))報告一.實驗?zāi)康脑诙嗟莱绦蛳到y(tǒng)中,調(diào)度的實質(zhì)是一種資源分配。處理機調(diào)度便成為了os中至關(guān)重要的部分。了解并掌握基本的調(diào)度算法,理解算法之間的優(yōu)劣。2 .實驗內(nèi)容了解并掌握短作業(yè)優(yōu)先的調(diào)度算法。3 .實驗原理SJF算法是以作業(yè)的長短計算優(yōu)先級,作業(yè)越短,具優(yōu)先級越高。作業(yè)的長短是以作業(yè)所要求的運算時間來衡量的。4 .實驗設(shè)計及編碼1 .模塊分析按照進(jìn)程進(jìn)入就緒隊列的先后順序調(diào)度并分配處理機執(zhí)行。先來先服務(wù)調(diào)度算法是一種非搶占式的算法,先進(jìn)入就緒隊列的進(jìn)程,先分配處理機運行。一旦一個進(jìn)程占有了處理機,它就一直運行下去,直到該進(jìn)程完成工作或者因為等待某事件發(fā)生而不能繼續(xù)運

2、行時才釋放處理機。系統(tǒng)只要有后備作業(yè)隊列或就緒進(jìn)程隊列即可,就是一個作業(yè)控制塊或進(jìn)程控制塊加入隊列時加在相應(yīng)隊列末尾。2 .流程圖錯入作數(shù)r作業(yè)號.提交時冏.定行時間2 .代碼實現(xiàn)#include<iostream>usingnamespacestd;classJCB(public:voidinput();voidoutput();voidbubbleSort(intstart,intlen);voidbubbleSort1(intstart,intlen);intgetCount(intx);voidswap(intx,inty);voidmakeJCB(intx);voidma

3、keTime(intx);/一些數(shù)據(jù)的處理voidinit();/初始化函數(shù),貌似不需要voidprintCir();private:intlength;doublearriveTime10;doublestartTime10;doubleworkTime10;doublefinishTime10;doublecirTime10;doubledqzzTime10;stringname10;voidJCB:input()cout<<"請輸入作業(yè)個數(shù)(不大于10個):"cin>>length;for(inti=0;i<length;i+)cout&

4、lt;<"作業(yè)NO."<<i+1<<":"<<endl;cout<<"請輸入作業(yè)名字:"cin>>namei;cout<<"請輸入作業(yè)到達(dá)時間:"cin>>arriveTimei;cout<<"請輸入作業(yè)運行時間:"cin>>workTimei;cout<<"輸入完成!"<<endl;voidJCB:output()cout<<

5、endl;for(inti=0;i<length;i+)makeJCB(i);cout<<"NO."<<i+1<<endl;cout<<"namet"<<"arrivet"<<"workt"<<"startt"<<"finisht"<<"cirt"<<"dqzzt"<<endl;cout<<

6、;namei<<"t"<<arriveTimei<<"t"<<workTimei<<"t"<<startTimei<<"t"<<finishTimei<<"t"<<cirTimei<<"t"<<dqzzTimei<<"t"<<endl;cout<<endl;voidJCB二bub

7、bleSort(intstart,intlen)for(inti=start;i<start+len-1;i+)for(intj=start;j<start+len-1;j+)if(workTimej>workTimej+1)swap(j,j+1);voidJCB二bubbleSort1(intstart,intlen)for(inti=start;i<start+len-1;i+)for(intj=start;j<start+len-1;j+)if(arriveTimej>arriveTimej+1)swap(j,j+1);intJCB二getCount(

8、intx)intcount=0;inty=x-1;for(inti=x;i<length;i+)if(arriveTimei<=finishTimey)count+;returncount;voidJCB二swap(intx,inty)doubletemp;stringtemp1;temp=arriveTimex;arriveTimex=arriveTimey;arriveTimey=temp;=temp;temp=workTimex;workTimex=workTimey;workTimeytempi=namex;namex=namey;namey=tempi;)voidJCB:

9、makeTime(intx)(finishTimex=startTimex+workTimex;cirTimex=finishTimex-arriveTimex;dqzzTimex=cirTimex/workTimex;)voidJCB:printCir()(doubleTcir=0;doubleTdqzz=0;for(inti=0;i<length;i+)(Tcir=Tcir+cirTimei;Tdqzz=Tdqzz+dqzzTimei;)cout<<"平均周轉(zhuǎn)時間:"<<Tcir/length<<endl;cout<<

10、;"平均帶權(quán)周轉(zhuǎn)時間:"<<Tdqzz/length<<endl;)voidJCB:makeJCB(intx)(if(x=0)(bubbleSort1(x,length);startTimex=arriveTimex;makeTime(x);)else(intcount=getCount(x);if(count=0)(startTimex=arriveTimex;makeTime(x);else(bubbleSort(x,count);startTimex=finishTimex-1;makeTime(x);voidJCB:init()(for(in

11、ti=0;i<10;i+)(arriveTimei=0;startTimei=0;workTimei=0;finishTimei=0;cirTimei=0;dqzzTimei=0;intmain()(JCBA;A.init();A.input();A.output();A.printCir();3 .結(jié)果及其相關(guān)分析(結(jié)果必須是圖示)NS1name卜arrive0work3start0finish3cir3dqzz1卜0,2namearriveworkstartfinishcirdqzzb143761.5卜0.3namearriveworkstartfinishcirdqzzc25712102

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論