版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、先來先服務FCFS和短作業(yè)優(yōu)先SJF進程調度算法1、實驗目的通過這次實驗,加深對進程概念的理解,進一步掌握進程狀態(tài)的轉變、進程調度的策略及對系統(tǒng)性能的評價方法。2、需求分析輸入的形式和輸入值的范圍輸入值:進程個數(shù)Num范圍:0Num=100依次輸入Num個進程的到達時間范圍:依次輸入Num個進程的服務時間范圍:輸入要使用的算法(1-FCFS,2-SJF)范圍:1或者2輸出的形式(X表示變量)時刻X:進程X開始運行。其完成時間:X周轉時間:X帶權周轉時間:X(省略(Num-1)個)平均周轉時間:X平均帶權周轉時間:X程序所能達到的功能輸入進程個數(shù)Num,每個進程到達時間ArrivalTimei,
2、服務時間ServiceTimei。采用先來先服務FCFS或者短作業(yè)優(yōu)先SJF進程調度算法進行調度,計算每個進程的完成時間、周轉時間和帶權周轉時間,并且統(tǒng)計Num個進程的平均周轉時間和平均帶權周轉時間。3、概要設計說明本程序中用到的所有抽象數(shù)據(jù)類型的定義、主程序的流程以及各程序模塊之間的層次(調用)關系。4、詳細設計5、調試分析調試過程中遇到的問題以及解決方法,設計與實現(xiàn)的回顧討論和分析Q開始的時候沒有判斷進程是否到達,導致短進程優(yōu)先算法運行結果錯誤,后來加上了判斷語句后就解決了改問題?;就瓿傻脑O計所要實現(xiàn)的功能,總的來說,F(xiàn)CFS編寫容易,SJF需要先找到已經(jīng)到達的進程,再從已經(jīng)到達的進程里
3、找到進程服務時間最短的進程,再進行計算。算法的改進設想改進:即使用戶輸入的進程到達時間沒有先后順序也能準確的計算出結果。(就是再加個循環(huán),判斷各個進程的到達時間先后,組成一個有序的序列)經(jīng)驗和體會通過本次實驗,深入理解了先來先服務和短進程優(yōu)先進程調度算法的思想,培養(yǎng)了自己的動手能力,通過實踐加深了記憶。6、用戶使用說明輸入進程個數(shù)Num-I(2)依次輸入Num個進程的到達時間(3)依次輸入Num個進程的服務時間(4)選擇要使用的算法7、測試結果正確一(FCFS):-I-IXXxatxatxxxxKxxxH即軟件工程二班-日-日-日-日目-Er百ii一日日一達迖達達迖一務小力務務務_文.琴又.|
4、-|遵又-輸一-KX心詳請請請請一主qllffiM幣一*X上A卄婁M.、M.1X王-w-12345-12345一XMS-m-A一入入入人入只入入入入一H-刑刑鼻刖-d刖利亠刖-5一勺勺勺勺勺一勺勺勺勺勺一-fc-2_一-tLI-fc-1.1-一心一一BBSS-I.-二.-1一.1二.-1-.1二II-_1-LI-/-/-逬1逬-個耒個個一社我-勺勺勺燈-TOJ1-L.1LIJ=-r-rrr-r一-I-I亦4:7:12|14周帶魁均均始運行。I對可9捕轉時囘2.H是否繼續(xù)使用該程序,按,能瞬熱按其他任意犍退出:正確一(SJF):-IUV-翟5軽r一r:一小*口土_【*右一Xit-_-*一c.-透
5、迸進進迸一S進S進進一-十牛個個個一個個個個個一12345-12345-US-J8S一一入入1AlAlA一1AlAlAlAlA一一一一一請ffi請請請一請請請請請一請選擇要使用的笄法ci-fcfs,2罔幕周又161948-2:間.環(huán)問問眄間+|周周ra.r.-8134961Is:豐甌完完/完兀進巒開始運實a進程開始運眾轉時閆;a戎周轉時間:2-12正確二(FCFS):正確二(SJF):是否繼續(xù)使用謖程序,按,或沖,龜艇熱按甘他任意犍退出;時勺勺勺勺勺rll一=一-fc-&-曰.1.1.1.1.1&t&t&t&tBvt、達達達達達0l34657382snlidls._1.1.丄II;個個個個牛1
6、234-5入1A1A1A1A一日一日一日一日tfT開抖開.豢務務務Fdl!rIJGrrGn.口!-勺燈=.勺_|17燈=一”rll一-J一TJ*n2=BsraB-hl-/-hl-/-hl-辻辻訐主注r-1.t_1.:-1.t_1.-1.個個12345I1A1A入1A1A肯土呈星墾炳GJFs2魁對叵:5同轉E壇加町冋:1?周紜西陰呼:8同巷宙豐舷吋冋:爲完戎卡:10上Tc。一TC09行宙ITlt運魄運轉.2=占口女A口女A口0ITST黑刑著益E:1718:周帶勃均均BTt-BTrBTr-BTr.-BTr*-】-錯誤(進程個數(shù)錯誤):錯誤(選擇算法錯誤):8、附錄/*X*x*x*x*x*x*x*x
7、*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*/|S|S|S|S|S|S|S|S|S|S|S|S|S|S|Sjsjsjsjs/*進程調度算法BY:09軟件工程二班李群*/*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*
8、#includeiostream#includeiomanipusingnamespacestd;staticconstintMax=100;intArrivalTimeMax;/到達時間intServiceTimeMax;/服務時間intFinishTimeMax;/完成時間intWholeTimeMax;/周轉時間doubleWeightWholeTimeMax;/帯權周莊時間doubleAverageWT_FCFS,AverageWT_SJF;/平均周轉時間doubleAverageWWT_FCFS,AverageWWT_SJF;/平均帯權周轉時間intServiceTime_SJFMa
9、x;/在SJF算法中使用到intNum=0;intNowTime=0;/記錄當前時間doubleSumWT=0,SumWWT=0;/SumWT用來計算總的周轉時間,SumWWT用來計算總的帯權周轉時間inti;intchoice;/記錄選擇/*X*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*/先到先服務算法/*X*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*
10、x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*/voidFCFS()/找最早到達的。coutendl;coutFCFSendl;coutendl;for(i=0;iNum;i+)if(ArrivalTimeiNowTime)/(假如進程到達的時間比現(xiàn)在已經(jīng)運行的時間NowTime大,說明在NowTime時刻進程未到達NowTime=ArrivalTimei;/把進程的到達時間賦給NowTimeNowTime+=ServiceTimei;/把進程的服務
11、時間加到NowTime上FinishTimei=NowTime;/計算完成時間WholeTimei=FinishTimei-ArrivalTimei;/計算周轉時間=完成時間-到達時間WeightWholeTimei=(double)WholeTimei/ServiceTimei;/計算帶權周轉時間=周轉時間/服務時間SumWT+=WholeTimei;/計算總的周轉時間SumWWT+=WeightWholeTimei;/計算總的帯權周轉時間AverageWT_FCFS=SumWT/Num;/平均周轉時間AverageWWT_FCFS=SumWWT/Num;/平均帯權周轉時間for(i=0;i
12、Num;i+)/依次輸出結果cout時刻FinishTimei-ServiceTimei進程i+l開始運行。其完成時間:FinishTimei周轉時間:WholeTimeisetprecision(3)帯權周轉時間:WeightWholeTimeisetprecision(3)endl;cout平均周轉時間:AverageWT_FCFSendl;cout平均帯權周轉時間:AverageWWT_FCFSendl;/*/*/短進程優(yōu)先算法/*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*/*voidSJF()/找已經(jīng)到達的且服務時間最短的進程(假定輸入的進程是按照
13、到達時間先后輸入的)coutendl;coutSJFendl;cout=Num)allin=1;elsej=Num;j=j-1;/j是已經(jīng)到達的進程數(shù)while(k=j)/從已經(jīng)到達的進程里找到服務時間最短的進程if(ServiceTime_SJFk=O)/進程的服務時間如果等于0,則跳過該進程k+;elseif(ServiceTime_SJFminServiceTime_SJFk)/t匕較,找到服務時間最短的進程min=k;k+;ServiceTime_SJFmin=0;/找完后置零,便于下一次循環(huán)時使用NowTime+=ServiceTimemin;/累加當前時間FinishTimemin
14、=NowTime;/完成時間for(i=0;iNum;i+)/計算周轉時間,帶權周轉時間,總的周轉時間和總的帶權周轉時間WholeTimei=FinishTimei-ArrivalTimei;WeightWholeTimei=(double)WholeTimei/ServiceTimei;SumWT+=WholeTimei;SumWWT+=WeightWholeTimei;AverageWT_SJF=SumWT/Num;/平均周轉時間AverageWWT_SJF=SumWWT/Num;/平均帶權周轉時間cout其完成時間:FinishTimeO周轉時間:WholeTime0setprecisi
15、on(3)帯權周轉時間:WeightWholeTime0setprecision(3)endl;for(i=1;iNum;i+)/輸出結果cout時刻FinishTimei-ServiceTimei進程i+l開始運行。其完成時間:FinishTimei周轉時間:WholeTimeisetprecision(3)帯權周轉時間:WeightWholeTimeisetprecision(3)endl;cout平均周轉時間:AverageWT_SJFendl;cout平均帯權周轉時間:AverageWWT_SJFendl;/*/*/輸入函數(shù)/*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x
16、*x*x*x*x*x*/*voidinput()coutNum;while(Num100|Num=0)coutNum;coutendl;for(i=0;iNum;i+)coutArrivalTimei;coutendl;for(i=0;iNum;i+)intdata=0;coutdata;ServiceTimei=data;ServiceTime_SJFi=data;coutendl;coutchoice;/*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*/*/主函數(shù)/*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*x*/*voi
17、dmain(),11-4/kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*/zv.-x-1I(fillI(IIIIIcout*進程調度算法BY:09軟件工程二班李群*endl;,11-4/kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*kL*/zv.-x-1I(fillI(IIIIIcharflag=y;Loop:No
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力保安工作總結
- 2025年全球及中國交流造水機行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年全球及中國IO-Link信號塔行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年全球及中國吸收式工業(yè)消聲器行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球低聚半乳糖粉末行業(yè)調研及趨勢分析報告
- 2025-2030全球雙通道聽力計行業(yè)調研及趨勢分析報告
- 2025年全球及中國冰淇淋服務用品行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球汽車水泵機械密封行業(yè)調研及趨勢分析報告
- 2025-2030全球CT 掃描計量行業(yè)調研及趨勢分析報告
- 2025合同模板建設工程施工合同(港口)范本
- (二模)遵義市2025屆高三年級第二次適應性考試試卷 地理試卷(含答案)
- 二零二五隱名股東合作協(xié)議書及公司股權代持及回購協(xié)議
- IQC培訓課件教學課件
- 2025年計算機二級WPS考試題目
- 高管績效考核全案
- 2024年上海市中考英語試題和答案
- 教育部《中小學校園食品安全和膳食經(jīng)費管理工作指引》知識培訓
- 長沙醫(yī)學院《無機化學》2021-2022學年第一學期期末試卷
- eras婦科腫瘤圍手術期管理指南解讀
- GB/T 750-2024水泥壓蒸安定性試驗方法
- 初一到初三英語單詞表2182個帶音標打印版
評論
0/150
提交評論