FCFS和SJF調度算法_第1頁
FCFS和SJF調度算法_第2頁
FCFS和SJF調度算法_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、以下參考的別人的:FCFS和SJF調度算法思想和實現算法算法思想:設計程序模擬進程的先來先效勞FCFS和短作業優先SJF調度過程。假設有n個進程分別在Ti,,Tn時刻到達系統,它們需要的效勞時間分別為Si,,$。分別采用先來先效勞FCFS和短作業優先SJF進程調度算法進行調度,計算每個進程的完成時間,周轉時間和帶權周轉時間,并且統計n個進程的平均周轉時間和平均帶權周轉時間。源程序:#include<iomanip.h>#include<iostream.h>staticconstintN=100;intarrivalTimeN;/到達時間intserviceTimeN;

2、/效勞時間intfinishTimeN;/完成時間intWholeTimeN;/周轉時間doubleWeightWholeTimeN;/帶權周轉時間doubleaverageWT,averageWWT;/F均周轉時間intserviceTime_SJFN;intn=0;intnowTime=0;/記錄當前時間inti;voidFCFS()(cout<<"n=FCFS調度算法=n";for(i=0;i<n;i+)(if(arrivalTimei>nowTime)nowTime=arrivalTimei;nowTime+=serviceTimei;fin

3、ishTimei=nowTime;for(inti=0;i<n;i+)WholeTimei=finishTimei-arrivalTimei;for(inti=0;i<n;i+)WeightWholeTimei=(double)WholeTimei/(double)serviceTimei;for(inti=0;i<n;i+)(averageWT+=(double)WholeTimei/n;averageWWT+=(double)WeightWholeTimei/n;voidSJF()(cout<<"n=SJF調度算法=n";intmin=0;

4、nowTime=arrivalTime0+serviceTime0;finishTime0=nowTime;serviceTime_SJF0=100;intallin=0,j,k;for(i=1;i<n;i+)(k=1;min=0;if(allin=0)(j=0;while(arrivalTimej<=nowTime&&j<n)(j+;if(j>n)allin=1;elsej=n;j=j-1;while(k<=j)(if(serviceTime_SJFk=0)k+;else(if(serviceTime_SJFmin>serviceTime_

5、SJFk)min=k;k+;serviceTime_SJFmin=0;nowTime+=serviceTimemin;finishTimemin=nowTime;for(inti=0;i<n;i+)WholeTimei=finishTimei-arrivalTimei;for(inti=0;i<n;i+)WeightWholeTimei=(double)WholeTimei/(double)serviceTimei;averageWT=0;averageWWT=0;for(inti=0;i<n;i+)averageWT+=(double)WholeTimei/n;averag

6、eWWT+=(double)WeightWholeTimei/n;voidsortOn()/進程按照到達或者效勞時間進行排序inttemp;for(inti=0;i<n;i+)for(intk=0;k<n-i-1;k+)if(arrivalTimek+1<arrivalTimek)temp=arrivalTimek+1;arrivalTimek+1=arrivalTimek;arrivalTimek=temp;temp=serviceTimek+1;serviceTimek+1=serviceTimek;serviceTimek=temp;voidinput()cout

7、71;"請輸入進程的個數:cin»n;cout«endl;while(n>100|n<=0)cout«"進程個數必須大于0且小于等于100!請重新輸入進程個數"«endl;cout«"請輸入這"«N«"個進程的到達時間:nn"for(inti=0;i<n;i+)/設置N個進程的到達時間intM;cin»M;arrivalTimei=M;cout«endl;cout«"請輸入這"«

8、N«"個進程的對應的效勞時間:nn"for(inti=0;i<n;i+)/設置N個進程的效勞時間intM;cin»M;serviceTimei=M;serviceTime_SJFi=M;cout«endl;cout«"您輸入的這"«N«"個進程的信息如下:nrT;sortOn();進程按照到達時間進行排序cout«"進程名tt"for(inti=0;i<n;i+)charc=i+65;cout«c«"t"

9、cout«"n到達時間t"for(inti=0;i<n;i+)cout«arrivalTimei«"t"cout«"n效勞時間t"for(inti=0;i<n;i+)cout«serviceTimei«"t"cout«endl«endl;voidoutput()cout«"進程名tt”;for(inti=0;i<n;i+)charc=i+65;cout«c«"t&quo

10、t;cout«"平均n到達時間t"for(inti=0;i<n;i+)cout«arrivalTimei«"t"cout«"n效勞時間t"for(inti=0;i<n;i+)cout«serviceTimei«"t"cout«"n完成時間t"for(inti=0;i<n;i+)cout«finishTimei«"t"cout«"n周轉時間t"for(inti=0;i<n;i+)cout«WholeTimei«"t"cout<<averageWT<<setprecision(3)<<"n帶權周轉時間t"for(inti=0;i<n;i+)cout<<WeightWholeTimei<<"t”;cout<<averageW

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論