先來先服務(wù)FCFS和短作業(yè)優(yōu)先SJF進(jìn)程調(diào)度算法_第1頁
先來先服務(wù)FCFS和短作業(yè)優(yōu)先SJF進(jìn)程調(diào)度算法_第2頁
先來先服務(wù)FCFS和短作業(yè)優(yōu)先SJF進(jìn)程調(diào)度算法_第3頁
先來先服務(wù)FCFS和短作業(yè)優(yōu)先SJF進(jìn)程調(diào)度算法_第4頁
先來先服務(wù)FCFS和短作業(yè)優(yōu)先SJF進(jìn)程調(diào)度算法_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、先來先服務(wù)FCFS和短作業(yè)優(yōu)先SJF進(jìn)程調(diào)度算法1、實(shí)驗(yàn)?zāi)康耐ㄟ^這次實(shí)驗(yàn),加深對(duì)進(jìn)程概念的理解,進(jìn)一步掌握進(jìn)程狀態(tài)的 轉(zhuǎn)變、進(jìn)程調(diào)度的策略及對(duì)系統(tǒng)性能的評(píng)價(jià)方法。2、需求分析(1) 輸入的形式和輸入值的范圍輸入值:進(jìn)程個(gè)數(shù)Num范圍:0Num=100依次輸入Nur個(gè)進(jìn)程的到達(dá)時(shí)間范圍:依次輸入Nur個(gè)進(jìn)程的服務(wù)時(shí)間范圍:輸入要使用的算法(1-FCFS 2-SJF)范圍:1或者2(2) 輸出的形式(X表示變量)時(shí)刻X:進(jìn)程X開始運(yùn)行。 其完成時(shí)間:X周轉(zhuǎn)時(shí)間:X帶權(quán)周轉(zhuǎn)時(shí)間:X(省略(Num-1個(gè))平均周轉(zhuǎn)時(shí)間:X平均帶權(quán)周轉(zhuǎn)時(shí)間:X(3) 程序所能達(dá)到的功能輸入進(jìn)程個(gè)數(shù)Num,每個(gè)進(jìn)程到達(dá)時(shí)間

2、ArrivalTimei,服務(wù)時(shí)間ServiceTimei。采用先來先服務(wù)FCFS或者短作業(yè)優(yōu)先SJRS程調(diào)度算 法進(jìn)行調(diào)度,計(jì)算每個(gè)進(jìn)程的完成時(shí)間、周轉(zhuǎn)時(shí)間和帶權(quán)周轉(zhuǎn)時(shí)間, 并且統(tǒng)計(jì)Num個(gè)進(jìn)程的平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間。3、概要設(shè)計(jì)說明本程序中用到的所有抽象數(shù)據(jù)類型的定義、 主程序的流程以 及各程序模塊之間的層次(調(diào)用)關(guān)系。4、詳細(xì)設(shè)計(jì)5、調(diào)試分析(1) 調(diào)試過程中遇到的問題以及解決方法,設(shè)計(jì)與實(shí)現(xiàn)的回顧討 論和分析 開始的時(shí)候沒有判斷進(jìn)程是否到達(dá),導(dǎo)致短進(jìn)程優(yōu)先算法運(yùn) 行結(jié)果錯(cuò)誤,后來加上了判斷語句后就解決了改問題?;就瓿傻脑O(shè)計(jì)所要實(shí)現(xiàn)的功能,總的來說,F(xiàn)CF編寫容易,SJF

3、需要先找到已經(jīng)到達(dá)的進(jìn)程,再從已經(jīng)到達(dá)的進(jìn)程里找到進(jìn)程服務(wù)時(shí) 間最短的進(jìn)程,再進(jìn)行計(jì)算。(2) 算法的改進(jìn)設(shè)想改進(jìn):即使用戶輸入的進(jìn)程到達(dá)時(shí)間沒有先后順序也能準(zhǔn)確 的計(jì)算出結(jié)果。(就是再加個(gè)循環(huán),判斷各個(gè)進(jìn)程的到達(dá)時(shí)間先后, 組成一個(gè)有序的序列)(3) 經(jīng)驗(yàn)和體會(huì)通過本次實(shí)驗(yàn),深入理解了先來先服務(wù)和短進(jìn)程優(yōu)先進(jìn)程調(diào)度算法的思想,培養(yǎng)了自己的動(dòng)手能力,通過實(shí)踐加深了記憶。6、用戶使用說明(1)輸入進(jìn)程個(gè)數(shù)Num(2) 依次輸入Nun個(gè)進(jìn)程的到達(dá)時(shí)間(3) 依次輸入Nun個(gè)進(jìn)程的服務(wù)時(shí)間(4) 選擇要使用的算法7、測試結(jié)果正確一(FCFS :c G: 件系統(tǒng)實(shí)鑿實(shí)DebugFCFSandSJF.

4、exe4C-M-進(jìn)程調(diào)度算法BV:即軟件工程二班李群4C-M-請(qǐng)輸入進(jìn)程個(gè)數(shù):5Q1234I 日-I 日-I 日-I 日-I 日達(dá)達(dá)達(dá)達(dá)達(dá)個(gè)個(gè)個(gè)個(gè)個(gè)12 3 4 51AU1AU1A請(qǐng)請(qǐng)請(qǐng)請(qǐng)請(qǐng)百.日-日.日-日 BTr&t&t&tBTr 務(wù)務(wù)務(wù)務(wù)務(wù)一 p Xn又 p Xn又 p .br nLL V nLL V nLL V勺:勺:勺:勺:勺: hl-j- hj- hl-j- hj- .:卜:卜:卜:卜_1. 個(gè)個(gè)個(gè)個(gè)個(gè) I 2 3 4 5 1AU1AU1A 請(qǐng)請(qǐng)請(qǐng)請(qǐng)請(qǐng)0:4:7:1214周* 帀均均5.53.5請(qǐng)選擇要使用的算法= 1FCFS進(jìn)哩1開始運(yùn)行。 進(jìn)瑩開始運(yùn)杭 進(jìn)星M開妒運(yùn)鼻 :出隔開

5、始運(yùn)行。 :進(jìn)輸開始運(yùn)根 轉(zhuǎn)時(shí)同:9 杖周轉(zhuǎn)時(shí)間:2-8 蠶躍擊該程序按皿鍵繼練按其他任意犍退岀:.正確一(SJF):飛八操作系統(tǒng)實(shí)鑿實(shí)DebueFCFSandSJF. eze”進(jìn)程調(diào)度算法 BV:即軟件工程二班李群卄0 12 3 4BTr&tBTr&tBTr 遨遨遨遨遨 到到到到到 -CT:. LMV -CT:. LMV _E7: hl-j- hl-j- hl-j- bebs .t:卜-1. .t:卜 _1. .t _1. 個(gè)個(gè)個(gè)個(gè)個(gè) 12 3 4 5 US 1A1AU1AU 請(qǐng)請(qǐng)請(qǐng)請(qǐng)請(qǐng)BTr&t&t&t&t 務(wù)務(wù)務(wù)務(wù)務(wù) p 又n* p 又n* pr?K*r第第第第第 I.AtAtAtAtA

6、 輸輸輸輸輸 注幣請(qǐng)注幣請(qǐng)注幣膳輸入進(jìn)程個(gè)數(shù):5請(qǐng)選擇要使用的算法1-FCFS,2-SJF: 2S jFiw2- 57 3 26 5 -:-2 121.1 寸 可 4:fhIdV4 8:間:亦 周周 周F. 8 -1 34 9 6 1 成成歳成成 osksasTLls A口A口 +Z.A口A口 可. 女女干女女GO .膽 開開歷開開.時(shí) 進(jìn)進(jìn) 進(jìn)進(jìn)轉(zhuǎn)取 0:6:13:4:?:周帶均均2i-2正確二(FCFS :口其G:件系統(tǒng)實(shí)鑿實(shí)DebugFCFSandSJF. exe睛輸入進(jìn)程不數(shù):弓0 13 4 6&t&t&t&t&t 達(dá)達(dá)達(dá)達(dá)達(dá)個(gè)個(gè)個(gè)個(gè)個(gè) I 2 3 4 5 US 1AU1A1AU 請(qǐng)注

7、幣請(qǐng)注幣請(qǐng)&t&t&t&t&t 務(wù)務(wù)務(wù)務(wù)務(wù)一 nlK*rP XnrJK*rP XnrJK*rUS 入1AU1AU 請(qǐng)請(qǐng)請(qǐng)請(qǐng)請(qǐng)請(qǐng)選擇要使用的算法1-FCFS,2-SJF: 1FCFS1.5742.38l1 :同同同 fi tv帶十曲 ttf-rf 帶 2 9 9 111115 時(shí)B-周周周.周周5 3 52 12 25 1可司n ftt&t&t&莊+?-J +7卡肓冃冃 導(dǎo)完完完.氐II仃 ftl-=A口A口十.A+:.+:. 3 可. 形課鐸:I州 Blm 迪迪轉(zhuǎn)欣 0:5:121523周卄帀均均96-3是否繼續(xù)使用該程序,按或沖,鍵繼續(xù),按其他任意鍵退岀: 谷歌拼音半正確二(SJF):口其c

8、 G八操件系統(tǒng)實(shí)鑿實(shí)DebugFCFSandSJF. eze 睛輸人進(jìn)程不數(shù):弓-B -B -B -B &t、BTt-、&t、&t、B7r、 逖遨逖遨逖 LMV XT:. LMV XT:. LMV IJ*TT hl-j- hl-j- BBSs 二.1二.1-.1二.1-.1 . _1. .t:卜:卜:卜_1. 個(gè)個(gè)個(gè)個(gè)個(gè) 12 3 4 5 1AU1AU1A 請(qǐng)請(qǐng)請(qǐng)請(qǐng)請(qǐng)&t、&t、&t、&t、&t、 務(wù)務(wù)務(wù)務(wù)務(wù) nxnxnxnxnxUS 1AU1A1AU 請(qǐng)請(qǐng)請(qǐng)請(qǐng)請(qǐng)請(qǐng)選擇要使用的算法1-FCFS,2-SJF: 2SJF0:105:178:周* 帀均均嚳1開始運(yùn)行。:卅提2開始運(yùn)行。進(jìn)程3開始運(yùn)行

9、。:卅提咗開始運(yùn)行。進(jìn)程5開始運(yùn)行。轉(zhuǎn)時(shí)間:10.2 校周轉(zhuǎn)時(shí)間:1-92定成對(duì)I可: 吋間 定成對(duì)I可: 吋間 完成時(shí)間:轉(zhuǎn)周轉(zhuǎn)周周 周 F.7 -51 2 0 5 8 19 32 6 2 7 26 1可1可 料周料周轉(zhuǎn) 曇 帶6帶丄帶1 24 5:5: 間.間叭是否繼續(xù)使用該程序,按或沖,鍵繼續(xù),按其他任意鍵退岀:錯(cuò)誤(進(jìn)程個(gè)數(shù)錯(cuò)誤):pq曲 *G:S作系統(tǒng)實(shí)鑿實(shí)DebuEFCFSandSJF. exe進(jìn)程調(diào)度算法BV:即軟件工程二班李群睛物入進(jìn)程個(gè)數(shù):0 展理個(gè)數(shù)必須大于0且 展程個(gè)數(shù)必須大于0且 錘羞個(gè)數(shù)必須大于0且陡哩個(gè)數(shù)必須大于0且于于于于81于于于于X X X X個(gè)個(gè)個(gè)個(gè) 進(jìn)進(jìn)進(jìn)

10、進(jìn) 1A1A1A1A 重重重重101-11000陷歌拼音半錯(cuò)誤(選擇算法錯(cuò)誤):其旅操作系統(tǒng)實(shí)鯊I實(shí)鯊一DEtm就FCFSandSJF. eze30-150FCF審FCF審FCF審FCF審FCF1-選1-選1-選1-選1-i噺i噺i噺i噺i蠶蠶蠶爵怦3J- ta hl-j- ta IHL-J- ta IHL-J- fa IHL-J-尿嘆尿嘆尿嘆屈嘆用孟擇 選的選的選的選的選 請(qǐng)您請(qǐng)您請(qǐng)您請(qǐng)您請(qǐng)8附錄/*/*進(jìn)程調(diào)度算法 BY : 09軟件工程二班 李群 */*#include#includeusing namespace std;static const int Max=100;int Arr

11、ivalTimeMax;到達(dá)時(shí)間int ServiceTimeMax;服務(wù)時(shí)間int FinishTimeMax;完成時(shí)間int WholeTimeMax;周轉(zhuǎn)時(shí)間double WeightWholeTimeMax;帯權(quán)周莊時(shí)間double AverageWT_FCFS,AverageWT_SJF; / 平均周轉(zhuǎn)時(shí)間double AverageWWT_FCFS,AverageWWT_SJF;/平 均帯權(quán)周轉(zhuǎn)時(shí)間int ServiceTime_SJFMax;/在 SJF算 法中使用到int Num=0;int NowTime=0;記錄當(dāng)前時(shí)間double SumWT=0,SumWWT=0;/Su

12、mV用來計(jì)算總的周轉(zhuǎn)時(shí)間,SumWW來計(jì)算總的帯權(quán)周轉(zhuǎn)時(shí)間int i;int choice;/記錄選擇/*/先到先服務(wù)算法/* void FCFS() 找最早到達(dá)的。coutvvvvendl;coutvvFCFSvvendl;coutvvvvendl;for(i=0;ivNum;i+)if(ArrivalTimeiNowTime)假如進(jìn)程到達(dá)的時(shí)間比現(xiàn)在已經(jīng)運(yùn)行的時(shí)間NowTime大,說明在NowTime寸刻進(jìn)程未到達(dá)NowTime=ArrivalTimei;把進(jìn)程的到達(dá)時(shí)間賦給 NowTimeNowTime+=ServiceTimei;把進(jìn)程的服務(wù)時(shí)間加到 NowTimehFinishTim

13、ei=NowTime; 計(jì)算完成時(shí)間WholeTimei=FinishTimei-ArrivalTimei;計(jì)算周轉(zhuǎn)時(shí)間=完成時(shí)間-到達(dá)時(shí)間WeightWholeTimei=(double)WholeTimei/ServiceTimei;計(jì)算帶權(quán)周轉(zhuǎn)時(shí)間=周轉(zhuǎn)時(shí)間/服務(wù)時(shí)間SumWT+=WholeTimei;/計(jì)算總的周轉(zhuǎn)時(shí)間SumWWT+=WeightWholeTimei;/計(jì)算總的帯權(quán)周轉(zhuǎn)時(shí)間AverageWT_FCFS=SumWT/Num 平均周轉(zhuǎn)時(shí)間AverageWWT_FCFS=SumWWT/Nui平均帯權(quán)周轉(zhuǎn)時(shí)間for(i=0;ivNum;i+)/ 依次輸出結(jié)果coutvv時(shí)刻vv

14、FinishTimei-ServiceTimeivv:進(jìn)程vvi+1vv開始運(yùn)行。vv 其完成時(shí)間:FinishTimeivv周轉(zhuǎn)時(shí)間:vvWholeTimeivvsetprecision(3)vv帯權(quán)周轉(zhuǎn)時(shí)間:vvWeightWholeTimeivvsetprecision(3)vvendl;coutvv平均周轉(zhuǎn)時(shí)間:vvAverageWT_FCFSvvendl;coutvv平均帯權(quán)周轉(zhuǎn)時(shí)間:vvAverageWWT_FCFSvvendl;/*/短進(jìn)程優(yōu)先算法/*void SJF()/找已經(jīng)到達(dá)的且服務(wù)時(shí)間最短的進(jìn)程(假定輸入的進(jìn)程是按照到達(dá)時(shí)間先后輸入的)coutvvvvendl;cout

15、vvSJFvvendl;coutvvvvendl;int min=0;NowTime=ArrivalTime0+ServiceTime0;計(jì)算第一次的 NowTimeFinishTime0=NowTime;/計(jì)算第一個(gè)進(jìn)程的完成時(shí)間ServiceTime_SJF0=1000;/ 賦初值。coutvv時(shí)刻FinishTimeO-ServiceTimeOvv:進(jìn)程1開始運(yùn)行。;int allin=O,j,k;for(i=1;iNum;i+)進(jìn)入循環(huán),從第二個(gè)到達(dá)的進(jìn)程開始k=1;min=0;if(allin=O)找到已經(jīng)到達(dá)的進(jìn)程個(gè)數(shù)j=0;while(ArrivalTimejv=NowTime

16、& j=Num)allin=1;elsej=Num;j=j-1;/j是已經(jīng)到達(dá)的進(jìn)程數(shù)while(kServiceTime_SJFk)比較,找到服務(wù)時(shí)間最短的進(jìn)程min=k;k+;ServiceTime_SJFmin=O;找完后置零,便于下一次循環(huán)時(shí)使用NowTime+=ServiceTimemin; 累加當(dāng)前時(shí)間FinishTimemin=NowTime; 完成時(shí)間for(i=O;iNum;i+)計(jì)算周轉(zhuǎn)時(shí)間,帶權(quán)周轉(zhuǎn)時(shí)間,總的周轉(zhuǎn)時(shí)間和總的帶權(quán)周轉(zhuǎn)時(shí)間WholeTimei=FinishTimei-ArrivalTimei;WeightWholeTimei=(double)WholeTime

17、i/ServiceTimei;SumWT+=WholeTimei;SumWWT+=WeightWholeTimei;AverageWT_SJF=SumWT/Num;平均周轉(zhuǎn)時(shí)間AverageWWT_SJF=SumWWT/Nun平均帶權(quán)周轉(zhuǎn)時(shí)間coutvv其完成時(shí)間:FinishTimeOvv周轉(zhuǎn)時(shí)間:v100|Numv=0)coutvv進(jìn)程個(gè)數(shù)必須大于0且小于等于100!請(qǐng)重新輸入進(jìn)程個(gè)數(shù):cinNum;coutvvvvendl;for(i=0;ivNum;i+)coutvv請(qǐng)輸入第vvi+1vv個(gè)進(jìn)程的到達(dá)時(shí)間:;cinArrivalTimei;coutvvvvendl;for(i=0;ivNum;i+)int data=0;coutvv請(qǐng)輸入第vvi+1vv個(gè)進(jìn)程的服務(wù)時(shí)間:;cindata;ServiceTimei=data;ServiceTime_SJFi=data;coutvvvvendl;coutvv請(qǐng)選擇要使用的算法(1-FCFS,2-SJF):;cinchoice;/*/主函數(shù)/*void main()coutvv*vvendl;coutvv*進(jìn)程調(diào)度算法 BY : 09軟件工程二班李群*vvendl;coutvv*vvendl;char flag=y:Loop:NowTime=0;SumWT=0;SumWWT=0參數(shù)初始化input(); 輸入

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論