FCFS和SJF進程調(diào)度調(diào)度算法Word版_第1頁
FCFS和SJF進程調(diào)度調(diào)度算法Word版_第2頁
FCFS和SJF進程調(diào)度調(diào)度算法Word版_第3頁
FCFS和SJF進程調(diào)度調(diào)度算法Word版_第4頁
FCFS和SJF進程調(diào)度調(diào)度算法Word版_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、操作系統(tǒng)實驗報告一班級:08網(wǎng)絡(luò)工程 一、 實驗?zāi)康耐ㄟ^這次實驗,加深對進程概念的理解,進一步掌握進程狀態(tài)的轉(zhuǎn)變、進程調(diào)度的策略及對系統(tǒng)性能的評價方法。二、 實驗內(nèi)容設(shè)計程序模擬進程的先來先服務(wù)FCFS和短作業(yè)優(yōu)先SJF調(diào)度過程。假設(shè)有n個進程分別在T1, ,Tn時刻到達系統(tǒng),它們需要的服務(wù)時間分別為S1, ,Sn。分別采用先來先服務(wù)FCFS和短作業(yè)優(yōu)先SJF進程調(diào)度算法進行調(diào)度,計算每個進程的完成時間、周轉(zhuǎn)時間和帶權(quán)周轉(zhuǎn)時間,并且統(tǒng)計n個進程的平均周轉(zhuǎn)時間和平均帶權(quán)周轉(zhuǎn)時間。三、 要求程序要求:1)進程個數(shù)n;每個進程的到達時間T1, ,Tn和服務(wù)時間S1, ,Sn;選擇算法1-FCFS,2

2、-SJF。2)要求采用先來先服務(wù)FCFS和短作業(yè)優(yōu)先SJF分別調(diào)度進程運行,計算每個進程的周轉(zhuǎn)時間和帶權(quán)周轉(zhuǎn)時間,并且計算所有進程的平均周轉(zhuǎn)時間和帶權(quán)平均周轉(zhuǎn)時間;3)輸出:要求模擬整個調(diào)度過程,輸出每個時刻的進程運行狀態(tài),如“時刻3:進程B開始運行”等等;4)輸出:要求輸出計算出來的每個進程的周轉(zhuǎn)時間、帶權(quán)周轉(zhuǎn)時間、所有進程的平均周轉(zhuǎn)時間以及帶權(quán)平均周轉(zhuǎn)時間。實驗要求1)上機前認真復(fù)習(xí)FCFS和SJF進程調(diào)度調(diào)度算法,熟悉進程調(diào)度的執(zhí)行過程;2)上機時獨立編程、調(diào)試程序;3)根據(jù)具體實驗要求,完成好實驗報告(包括實驗的目的、內(nèi)容、要求、源程序、實例運行結(jié)果截圖、發(fā)現(xiàn)的問題以及解決方法)。四、

3、 源程序#include<iostream>#include<fstream>#include<iomanip>using namespace std; void FCFS();void SJF(); static const int MaxNum=100;int ArrivalTimeMaxNum;/到達時間int ServiceTimeMaxNum;/服務(wù)時間int FinishTimeMaxNum;/完成時間int WholeTimeMaxNum;/周轉(zhuǎn)時間double WeightWholeTimeMaxNum;/帶權(quán)周轉(zhuǎn)時間double Avera

4、geWT_FCFS,AverageWT_SJF; /平均周轉(zhuǎn)時間double AverageWWT_FCFS,AverageWWT_SJF;/平均帶權(quán)周轉(zhuǎn)時間int ServiceTime2MaxNum;/用于計算SJF的量int Data=0;int PNum=0;int NowTime=0;double x=0,y=0;int i;void main()int a;cout<<"請輸入進程個數(shù):"cin>>PNum;for(i=0;i<PNum;i+) cout<<"請輸入第"<<i+1<&

5、lt;"個進程的到達時間:"<<endl;cin>>Data;ArrivalTimei=Data;for( i=0;i<PNum;i+)cout<<"請輸入第"<<i+1<<"個進程的服務(wù)時間:"<<endl;cin>>Data;ServiceTimei=Data;ServiceTime2i=Data;cout<<"請選擇要計算的類型1-FCFS,2-SJF"cin>>a;if(a=1) FCFS();

6、elseSJF();void FCFS()cout<<"-"<<endl;cout<<" "<<"FCFS"<<" "<<endl;cout<<"-"<<endl;for(i=0;i<PNum;i+) if(ArrivalTimei>NowTime)NowTime=ArrivalTimei;NowTime+=ServiceTimei;FinishTimei=NowTime;WholeTim

7、ei=FinishTimei-ArrivalTimei;WeightWholeTimei=(double)WholeTimei/ServiceTimei;for(i=0;i<PNum;i+)x+=WholeTimei;y+=WeightWholeTimei;AverageWT_FCFS=x/PNum;AverageWWT_FCFS=y/PNum;for(i=0;i<PNum;i+)cout<<"時刻"<<FinishTimei-ServiceTimei<<":進程"<<i+1<<&q

8、uot;開始運行"<<endl;cout<<"周轉(zhuǎn)時間:"<<" "<<"帶權(quán)周轉(zhuǎn)時間"<<endl;for(i=0;i<PNum;i+)cout<<" "<<WholeTimei<<setprecision(3)<<" "<<WeightWholeTimei<<setprecision(3)<<endl;cout<<&quo

9、t;平均周轉(zhuǎn)時間FCFS:"<<AverageWT_FCFS<<endl;cout<<"平均帶權(quán)周轉(zhuǎn)時間FCFS:"<<AverageWWT_FCFS<<endl;void SJF() cout<<"-"<<endl;cout<<" "<<"SJF"<<" "<<endl;cout<<"-"<<endl;NowT

10、ime=0; /SJF x=0;y=0;int smallest=0; NowTime+=ServiceTime0; FinishTime0=NowTime;ServiceTime20=1000000;cout<<"時刻"<<FinishTime0-ServiceTime0<<":進程"<<1<<"開始運行"<<endl;int allin=0,j,k;for(i=1;i<PNum;i+) k=1;smallest=0;if(allin=0)j=0;whil

11、e(ArrivalTimej<=NowTime&&j<PNum)j+;if(j>=PNum)allin=1;elsej=PNum;j=j-1;while(k<=j)if(ServiceTime2k=0)k+;elseif(ServiceTime2smallest>ServiceTime2k)smallest=k;k+;ServiceTime2smallest=0;NowTime+=ServiceTimesmallest;FinishTimesmallest=NowTime;cout<<"時刻"<<Fini

12、shTimesmallest-ServiceTimesmallest<<":進程"<<smallest+1<<"開始運行"<<endl;for(i=0;i<PNum;i+) WholeTimei=FinishTimei-ArrivalTimei;WeightWholeTimei=(double)WholeTimei/ServiceTimei;cout<<"周轉(zhuǎn)時間"<<" "<<"帶權(quán)周轉(zhuǎn)時間"<&l

13、t;endl;for(i=0;i<PNum;i+)cout<<" "<<WholeTimei<<setprecision(3)<<" "<<WeightWholeTimei<<setprecision(3)<<endl;for(i=0;i<PNum;i+)x+=WholeTimei;y+=WeightWholeTimei;AverageWT_SJF=x/PNum;AverageWWT_SJF=y/PNum;cout<<"平均周轉(zhuǎn)時間SJF:"<<AverageWT_SJF<<endl;cout<<"平均帶權(quán)周轉(zhuǎn)時間SJF:"<<AverageWWT_SJF<<endl;五、 結(jié)果截圖六、 發(fā)現(xiàn)的問題及解決方法在編程的過程中,發(fā)現(xiàn)的問題還是不少的,尤其是寫SJF算法的時候,以前數(shù)組用的比較少,所以很不熟練,還要翻書或者是百度。還有就是

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論