先來先服務(wù)調(diào)度和最短作業(yè)優(yōu)先調(diào)度算法實驗報告_第1頁
先來先服務(wù)調(diào)度和最短作業(yè)優(yōu)先調(diào)度算法實驗報告_第2頁
先來先服務(wù)調(diào)度和最短作業(yè)優(yōu)先調(diào)度算法實驗報告_第3頁
先來先服務(wù)調(diào)度和最短作業(yè)優(yōu)先調(diào)度算法實驗報告_第4頁
先來先服務(wù)調(diào)度和最短作業(yè)優(yōu)先調(diào)度算法實驗報告_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、竝劇居時阿從小到丈對遜實驗概述:【實驗?zāi)康募耙蟆坷斫獠⒄莆仗幚頇C調(diào)度算法【實驗原理】基于先來先服務(wù)調(diào)度和最短作業(yè)優(yōu)先調(diào)度算法思想用C語言編程實現(xiàn)【實驗環(huán)境】(使用的軟件)VisualC+6.0實驗內(nèi)容:本實驗?zāi)M在單處理機情況下處理機調(diào)度,用C語言編程實現(xiàn)先來先服務(wù)和最短作業(yè)優(yōu)先調(diào)度算法?!緦嶒灧桨冈O(shè)計】FCFS流程圖:SJF流程圖:才左5IJ世I耐IHl從町,至I人工寸ia*叩ia:fqig宇試驗總設(shè)計流程圖:龜出進程各舍數(shù)并壬十訐、懺均J胡斗乍F時E進程等待時間=進程開始運行時間一進程提交時間(即進程處于就緒態(tài)時間)進程等待時間=進程開始運行時間一進程提交時間(即進程處于就緒態(tài)時間)其他

2、數(shù)計算各作開始時間等待時間按照提交算法數(shù):,結(jié)束時間,周轉(zhuǎn)時間時間排序11r再按最短運算法間排序計算各開始提間等待時間并!-作業(yè)參數(shù):I時間束時間,周轉(zhuǎn)時間輸出【實驗過程】(實驗步驟、記錄、數(shù)據(jù)、分析)測試用例1:屏幕顯示:Pleaseinputthetotalnumberofjobs輸入:4回車屏幕顯示:Pleaseinputjobnumber,submittimeandruntime輸入:19.00.2回車28.50.5回車38.01.0回車49.10.1回車屏幕顯示:Whatkindofalgorithmdoyouwant?Pleaseinput1toselectFCFS,or2tose

3、lectSJF.輸入:3回車屏幕顯示:Youhaveinputawrongnumber,pleaseinputagain.輸入:1回車屏幕輸出結(jié)果:submitrunstartingfinalwaitturnaround38.01.08.09.00.01.028.50.59.09.50.51.019.00.29.59.70.549.10.19.79.80.6屏幕顯示:Theaverageturnaroundtimeis0.85Whatkindofalgorithmdoyouwant?Pleaseinput測試數(shù)據(jù)二:submitrun160.5250.936.30.1FCFS和SJF算法結(jié)果一

4、樣:submitrunstartingfinalwait250.955.90160.566.5036.30.16.56.60.2Theaverageturnaroundtimeis0.567測試數(shù)據(jù)三:submitrun150.224.20.335.10.345.20.1FCFS:submitrunstartingfinalwait24.20.34.24.50150.255.2035.10.35.25.50.145.20.15.55.60.3Theaverageturnaroundtimeis0.325SJF:submitrunstartingfinalwait24.20.34.24.5015

5、0.255.2045.20.15.25.3035.10.35.35.60.2Theaverageturnaroundtimeis0.275源程序:#ineludestdio.h#includestdlib.h#includestring.h#defineM50structsjf0.70.7turnaround0.90.50.3turnaround0.30.20.40.4turnaround0.30.20.10.51toselectFCFS,or2toselectSJF,or0toeintjobnumber;floatsubmittime;floatruntime;floatstarttime;

6、floatfinishtime;floatwaittime;floatturnaroundtime;temp;staticstructsjfstM;voidinput(structsjf*p,intN)inti;printf(Pleaseinputthejobnumber,submittimeandruntime:nForexmple:18.52for(i=0;iN;i+)scanf(%d%f%f,&pi.jobnumber,&pi.submittime,&pi.runtime);voidprint(structsjf*p,intN)intk;floath,g;printf(runorder:

7、);printf(%d,p0.jobnumber);for(k=1;k%d,pk.jobnumber);printf(nTheprocesssinformation:n);printf(njobnumtsubmittruntstarttfinaltwaittturnaroundn);for(k=0;kN;k+)h+=pk.turnaroundtime;printf(%dt%-.1ft%-.1ft%-.1ft%-.1ft%-.1ft%-.1ftn,pk.jobnumber,pk.submitg=h/N;printf(nTheaverageturnaroundtimeis%-.2fn,g);/*按

8、提交時間從小到大排序*/voidsort1(structsjf*p,intN)inti,j;for(i=0;iN;i+)for(j=0;j二i;j+)if(pi.submittimepj.submittime)temp=pi;pi=pj;pj=temp;/*運行*/voiddeal(structsjf*p,intN)intk;for(k=0;kpkT.finishtime)pk.starttime二pk.submittime;pk.finishtime二pk.submittime+pk.runtime;elsepk.starttime二pkT.finishtime;pk.finishtime二

9、pkT.finishtime+pk.runtime;for(k=0;kN;k+)pk.turnaroundtime=pk.finishtime-pk.submittime;pk.waittime二pk.starttime-pk.submittime;voidsort2(structsjf*p,intN)intnext,m,n,k,i;floatmin;sort1(p,N);for(m=0;mpmT.finishtime)pm.finishtime二pm.submittime+pm.runtime;elsepm.finishtime二pmT.finishtime+pm.runtime;for(n

10、二m+1;nN;n+)if(pn.submittime=pm.finishtime)/*判斷內(nèi)存中每次完成之后又多少到達的進i+;min二pm+1.runtime;next=m+1;for(k=m+1;km+i;k+)/*找出到達后的進程中運行時間最小的進程*/if(pk+1.runtime2-1-Theprocess35i:ifc:7niation:pleaseGT2toselecPleaeeinpLtzhejabnunber,sbtuiitimeandrunLime;Fore?iwl亡:8.c2.01234jobnunsubniiTrun5TE.rtfinalwaitturnaround3

11、8.D1.08.09.D0.fl1.0?8.c0.d9.09,c0.d1.019.00.29.o9.70.o0.749.10.19.79.S0.60.7tjrraroundtime0.8caverageOTThePihaLk_ndozalgorithmdeyouwant?FLeaseinpt1zoseLeetFCFS:tSJFor0toexit:2rjnorder:3-1一-4-2Theproces-JsinfoTtuation:,:obnuiLsubnitr二nEtHtfinalwaitturnaround3S.01.08.09.00.01.019.D0.2g.o9.20.00.249.10

12、.19.29.30.0.228.c0.59.39.S0.81.3Theaveragetjraroundtin亡:0.&7;亡寸kindqzalgorithmdoyouwant?Fleaseinpit1loselect半:FCFS.or2toselec測試二:turnarcihid0.90.50.3wciit0.0000.2七rt5.06.06.51suborn-t:fi5.00.9.00.a36.30.:Tieaveraget.r:iaroundtimeisu.57VThatkindofalgorithmdayouwant?FLeaseinput1aseLeetFCFSfor2toselect

13、SJFor0toesit:半:Theaveragetjrnaroundtineiz0.57BfhatkindofalgorithmdayouYPleaseinp.it1toselectFCFShtSJFor0toexit:2rjnorder:2-1-J3Theprocesi3wilife2mation:2toelecBWCl:,iwinc2D10j1Cuanbin:.w?tempan9561.f566jobnuirsubniTrunstc.rtfinalwaitturnaround-耳0090.05.90.00.916.00.56.06.c0.00.336.30.16.06.B0.2Q.3PL

14、edseinp-ttotaljiumbeTofjobs:3Fleciseinr:tjobnumber,uhmittimeand-1】“time:ForenuLe:亠8.c2.060.55fl.9a6.30.1iShatkinddzalgorithnidoyouwnt?FLeaseinpjt1ossLectFCFSrot2toselectSJFqt0toexit:1runorder:213Theprocesi1zinformation;jobiium測試三:123450.220.310.3or2toselec5.20.1iVh己rkJ-dozalgorithmdoyou/I:leci5einri

15、t:zoselectFFShtSJFor0toesit:1unorder;2-一一Iheproc?ss,sinfoTmaticin:jobnunsubniiTrun5TE.rtfinalwaitturnaround2丄2034.2丄5fl.fl0.315.00.2o.Oa.20.00.235.10.35.25.50.10.445.2fl1.5.60.30.4Theaverageturnaroundtimeis0.33iShatkindal呂orithmdoyouwani?FLeaseinput1tossLectFCFS.cr2toselectSJFor0toexit:2rjnorder:2-一

16、1-J4-3Theprocei,sinfoTmation:/obnuirsubniiTrunstc.rtfinalwaitturnaround24.2034.24.c0.00.315.D0.25.05.20.00.24.20.9.2a.30.00.1-二5.10.3o.S5.B0.20.5Theaveragetjraroundtine:50.27Bfhatkindqzalgorithmdoyouwant?FLeaseinpjt1osaLectFCFS:or2toelectSJFqt0toexit:羋:【小結(jié)】實驗中產(chǎn)生的錯誤及原因分析:測試用例1的結(jié)果:錯誤1:D;winc2D104CVuYa

17、nbinwtemp.exerunorder:3一2一1Theprocesseinforitiatian:jobnuinsubmitrunstartfinalwaitturnaround38.0LC8.0a00.01.02S.50.59.09.50.51.019.00.29.c9.70.o0.749.10.19.79.80.60,7Theaveragetjniaroundtimeis0.85hatkindofalgorithmdoyouwant?Pleaseinput1toselectFCFS,or2ttSJFot0toezit:2runorder:3-4-0一0Theprocesssinfor

18、mation:jobnuinS-ibmitrunstartfinalwo.itturnarouiid38.0.08.09.00.01.049.10.19.09.1-0-10,000.00.09.19.19.19.100.00.09.19.19.19.1TheaveiaetarnaToundtimeis4.80Whatkindofalgarithmdoyou.vant?Pleaseizipiit1toselectFCFS,Ql-2ttSJFor0匸oexit:半:錯誤解決方式:主要是子函數(shù)sort2()中出的錯:i的作用域,程序修改:將原來:intnext,m,n,k,i=O;floatmin;

19、sort1(p,N);for(m=0;mN;m+)改為:intnext,m,n,k,i;floatmin;sort1(p,N);for(m=0;mor2toselec0toexit:1ri-orde-:2-1-3Theproccszzinformation:jobnumsuhmi-T:D5TartrinaltiiTnaroi:d.00.95.0a.90.00.916.00.55.96.1-0.10.1&30.:巨4&pmT.finishtime)pm.finishtime二pm.submittime+pm.runtime;elsepm.finishtime二pmT.finishtime+pm.

20、runtime;測試用例3的結(jié)果:錯誤1:B1Dtwinc201WCYuanv.fcinwwtemp.ee丄norde-:2-一1-3-、4jobnuirsubnii;r二it.rtiinalwaitturnaround2丄20.34.2丄50.00.3ia.00.2=.0a.20.00.235.10.3=.2.50.10.-145.20.15.55.G0.30.4tjrraroundaverageTheShaikindoialgorithmrSJFor0toexit:.2runorder:2-1-3-4Theprocess1sinformation;tine:.doyou;0.33want?

21、Fleaseinpui1toseLeetFCFSror2toselecjobnuTr:n:inalwaitturnarrii:nd21.20.3丄c0.00.313.0020.05.20.00.235-10.3:-.20.Jo.:0.445.20.15.55.60.30.1tJinaround0.33civeiageTheifhatkinddzalgorithnitSJFor0toesit;半:timei-dayouwant?F.easeinput亠toseLeetFCFS,dt2toselec_eDroGUEwuirfoTmatior:錯誤分析:同2一樣,解決方法:將原來的:未在子函數(shù)sor

22、t()中未考慮到“提交時間(submittime)大于上個進程的結(jié)束時間”的情況:elsepm.finishtime二pmT.finishtime+pm.runtime;修改為:elseif(pm.submittimepmT.finishtime)pm.finishtime二pm.submittime+pm.runtime;elsepm.finishtime二pmT.finishtime+pm.runtime;實驗的體會及收獲:通過這次試驗,我對處理機的調(diào)度算法特別是FCFS和SJF有了更深的理解,而且鍛煉了我的思維能力,使我能更全面地思考問題,以后還需要多做些這方面的練習(xí)。試驗不足之處:試驗

23、未考慮同一時間提交多個進程的情況,如:測試數(shù)據(jù):submitrun170.227.20.5370.1結(jié)果應(yīng)該是:FCFS:submitrunstartfinalwaitturnaround170.27.07.50.00.5370.17.57.60.50.627.20.57.67.80.40.6Theaverageturnaroundtimeis0.57.SJF:Jobnumsubmitrunstartingfinalwaitturnaround370.17.07.10.00.1170.57.17.60.10.627.20.27.67.80.60.6Theaverageturnaroundtim

24、eis0.43.而程序運行結(jié)果是:tkejoLnumber,submittimeandr_mline:8.52,0/obnuKisubmitrjnmtartfinalwaitt二inaiu二二d1匚00.57.07.50.00a37.00.17.c7.60.c0.67.20.27.67.8D.40.6timeis0.57IhedveiagetuiiioindihatkindofalgorithmtSJFor0toexiz;dayou貢ant?Fleaseinput1to三;亡leczFCFStorZtoselec吐D:wiric20LMS.CYuYan-fcinlwwtemp.exePLeastinpuxForew)le:170.57.20.270.:ffhazkindofalgorithmdayouant?Plec.seinput1toselectFCFSor2toselectSJFor0toexit:1riiiorder:1-3-2TheprocessinforEiation:Jobnumsubunitiu

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論