




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)用文檔先來(lái)先效勞FCFS和短作業(yè)優(yōu)先SJF進(jìn)程調(diào)度算法1、實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)這次實(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、需求分析范圍:0<Num<=100范圍:范圍:(1)輸入的形式和輸入值的范圍輸入值:進(jìn)程個(gè)數(shù)Num依次輸入Numb進(jìn)程的到達(dá)時(shí)間依次輸入Nunt進(jìn)程的效勞時(shí)間輸入要使用的算法(1-FCFG 2-SJF)范圍:1或者2(2)輸出的形式(X表示變量)時(shí)刻X:進(jìn)程沏始運(yùn)行. 其完成時(shí)間:X周轉(zhuǎn)時(shí)間:X帶權(quán)周轉(zhuǎn)時(shí)(省略(Num-力個(gè))平均周轉(zhuǎn)時(shí)間:X平均帶權(quán)周轉(zhuǎn)時(shí)間:X(3)程序所能到達(dá)的功能輸入進(jìn)程個(gè)數(shù)Num,每個(gè)進(jìn)
2、程到達(dá)時(shí)間ArrivalTimei,效勞時(shí)間ServiceTimei.采用先來(lái)先效勞FCFS或者短作業(yè)優(yōu)先SJF8程調(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ì)標(biāo)準(zhǔn)實(shí)用文檔說(shuō)明本程序中用到的所有抽象數(shù)據(jù)類(lèi)型的定義、 主程序的流程以及各程序模塊之間的層次(調(diào)用)關(guān)系.4、詳細(xì)設(shè)計(jì)5、調(diào)試分析(1)調(diào)試過(guò)程中遇到的問(wèn)題以及解決方法,設(shè)計(jì)與實(shí)現(xiàn)的回憶討論和分析o開(kāi)始的時(shí)候沒(méi)有判斷進(jìn)程是否到達(dá),導(dǎo)致短進(jìn)程優(yōu)先算法運(yùn) 行結(jié)果錯(cuò)誤,后來(lái)加上了判斷語(yǔ)句后就解決了改問(wèn)題.根本完成的設(shè)計(jì)所要實(shí)現(xiàn)的功能,總的來(lái)說(shuō),FCF編
3、寫(xiě)容易,SJF 需要先找到已經(jīng)到達(dá)的進(jìn)程,再?gòu)囊呀?jīng)到達(dá)的進(jìn)程里找到進(jìn)程效勞時(shí) 間最短的進(jìn)程,再進(jìn)行計(jì)算.(2)算法的改良設(shè)想改良:即使用戶(hù)輸入的進(jìn)程到達(dá)時(shí)間沒(méi)有先后順序也能準(zhǔn)確 的計(jì)算出結(jié)果.(就是再加個(gè)循環(huán),判斷各個(gè)進(jìn)程的到達(dá)時(shí)間先后, 組成一個(gè)有序的序列)(3)經(jīng)驗(yàn)和體會(huì)通過(guò)本次實(shí)驗(yàn),深入理解了先來(lái)先效勞和短進(jìn)程優(yōu)先進(jìn)程調(diào) 度算法的思想,培養(yǎng)了自己的動(dòng)手水平,通過(guò)實(shí)踐加深了記憶.6、用戶(hù)使用說(shuō)明(1)輸入進(jìn)程個(gè)數(shù)Num標(biāo)準(zhǔn)實(shí)用文檔(2)依次輸入Numt進(jìn)程的到達(dá)時(shí)間(3)依次輸入Numt進(jìn)程的效勞時(shí)間(4)選擇要使用的算法7、測(cè)試結(jié)果正確一(FCFS :*-1 - ,»-* w
4、*-r - «-r-» wa -u u tii-» «- yj uj 1 m-»- umj - u m i-r m »-j »-aim -u mj >«j »- »- u »j m m-j m m_r r» »-j «- mj m-» - u m混越湎康葡配:得我擇王荏三近事羊二MMMM X MMX M M'K:MM MM 9C M M M K MTK M M M K M M M K M MX M M X M M KM :MM M
5、M M M K M M M K M M K W K M K M MX MM M M X 請(qǐng)輸入進(jìn)程個(gè)數(shù),5-0 12 3 4-:!: = 1一百日百1日一日一 HI遲遲這比達(dá) 到.JIIL第 1?IJL 擔(dān) 的的的的的 程黃程里 在主任1_tafrta> 工許工、-A 生-小小 12 3 4 5 HS 小小5小jtx時(shí)間:14帶枕-2-SJF>= 1月日,IH日日一,AU小itxu旭?鬻螞 g qi、- / J J I T I 或寸間,12周巷時(shí)代 5成時(shí)(電14 ;10航11IH時(shí)間P 18周轉(zhuǎn)時(shí)間F B=雄鋅工開(kāi)始運(yùn)貨.春檄開(kāi)始量入 整氟藕索 周轉(zhuǎn)時(shí)間 9 帶楨周轉(zhuǎn)時(shí)間 2.8
6、z否否擦使用用程程,住,p叱,葉率件睛,按其他任意所退出:. 父歌拚者B=正確一(SJF):標(biāo)準(zhǔn)實(shí)用文檔正確二FCFS :生 F緊作殺柴軸&'實(shí),-VD&bngFCF3annWF. esc13 4 6一 EH巴 5j-b. &ttMe.1:k&t 達(dá)達(dá)這達(dá)達(dá)1個(gè)進(jìn)2個(gè)進(jìn)3個(gè)進(jìn)4個(gè)進(jìn)5個(gè)進(jìn)-b 7 9 B 2官一日,0,|日,|曰,程的強(qiáng)程的赧姿向 遑的軀南 程的熊務(wù)生 程的效勞國(guó)1個(gè)iS2個(gè)進(jìn)口不進(jìn)4 t進(jìn)5襁請(qǐng)請(qǐng)請(qǐng)請(qǐng)選擇我使用的算法U-FC理.2TJFH 17 3 S 5 - -4 2 V11 : Off可可 可m £國(guó). ,3%.寓.銬 一
7、 二 U 4U' ± " 挪現(xiàn)蠲 周身妹爭(zhēng)L29y 1111 1上 ; Bs.周5 3 S2 12 251戈戈咸辰成“周周周,七IIF工 勘ff提島 糜小浦a r*fi婦始 開(kāi)開(kāi)量程茬同轉(zhuǎn)專(zhuān)及 - -8 - 414 121523周帶均均 時(shí)時(shí)此時(shí)時(shí)2否繼續(xù)使用該程序,按9,或,打模繼續(xù),按其他任貢曜漏十 .標(biāo)準(zhǔn)實(shí)用文檔正確二SJF:二畏作系續(xù)賣(mài)著工尖,一¥»鈉11E因曜血.1甘.esc蹈9 32 62,72.rn5 : 21間1間I %B周轉(zhuǎn) 板酢穆司 嗨甯 帶叱嚓4 5; 5 - 司 同L 1H. I th "印 JO間町力膽B(tài)B巴I
8、K 達(dá)達(dá)達(dá)達(dá)達(dá)- -_-F-JSmsI?兄艮口兄的的的的的 進(jìn)第進(jìn)進(jìn)75- 1 2 o5 8 1一一時(shí)郡一三其4具耳一子印弟雜雜-AP-進(jìn)進(jìn)進(jìn)進(jìn)進(jìn)一個(gè)個(gè)個(gè)個(gè)個(gè)-1 2 3 4 b - 12345 -哥莒而高野 _HIrQrjAPWferr - 一仄iAiAixiA一iX1A1 Aixix一-市一短理惻利稀一IfT7X #92 好Ba匕-始明隰10間-開(kāi)路蒙.時(shí) 9. 一進(jìn):進(jìn):H:1MS=17a=周帶均Bit、Brt'kIJRI-l-五 一否繼續(xù)使用該程序,按,贅或,¥叱敕他續(xù),技支出任烹碑混+ :錯(cuò)誤進(jìn)程個(gè)數(shù)錯(cuò)誤:-I進(jìn)程判度算法 刖.眄軟件工程二班李群±61-1
9、1EB9藪數(shù)數(shù)數(shù)個(gè)八?進(jìn)進(jìn)進(jìn)進(jìn)入入入入n- n- KnsKns精精精輛10BI18BI18BI1001睛曲人進(jìn)程個(gè)數(shù);© 混翟個(gè)數(shù)遇須大于0且: 髭棋個(gè)數(shù)必須大于目且: 幅整個(gè)數(shù)必須大于.且二 這卷卜數(shù)必須大于.且:錯(cuò)誤選擇算法錯(cuò)誤:標(biāo)準(zhǔn)實(shí)用文檔|F=1石歆拼音1用,2-S.TP> = ,2-£JP>=,2-SJP>= 北 TJF ,Z-SJF>:F t p F f F f f FC擇Fer擇FC烽FC洋FG 選選1遍1-陽(yáng) 去.1去歿之第去if去 .“1-1EF,-11=* V,1- 0-.1&-丁孑 f I&H -選的選的選的選的
10、選 請(qǐng)您嗇戀請(qǐng)£重窿8、附錄*/*進(jìn)程調(diào)度算法 BY : 09軟件工程二班 李群 *#include<iostream>#include<iomanip>using namespace std;static const int Max=100;int ArrivalTimeMax;/到達(dá)時(shí)間int ServiceTimeMax;/效勞時(shí)間int FinishTimeMax;/ 完成時(shí)間int WholeTimeMax;/周轉(zhuǎn)時(shí)間double WeightWholeTimeMax;/ 帶權(quán)周莊時(shí)間double AverageWT_FCFS,AverageWT_S
11、JF; / 平均周轉(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;/SumWT來(lái)計(jì)算總的周轉(zhuǎn)時(shí)間,SumWWT計(jì)算總的常權(quán)周轉(zhuǎn)時(shí)間 int i;int choice;/ 記錄選擇/*/先到先效勞算法/*標(biāo)準(zhǔn)實(shí)用文檔void FCFS()/ 找最早到達(dá)的(cout<<""<<endl;cout<<"FCF
12、S"<<endl;cout<<""<<endl;for(i=0;i<Num;i+) ( if(ArrivalTimei>NowTime)假設(shè)進(jìn)程到達(dá)的時(shí)間比現(xiàn)在已經(jīng)運(yùn)行的時(shí)間NowTim以,說(shuō)明在NowTime寸刻進(jìn)程未到達(dá) (NowTime=ArrivalTimei;/把進(jìn)程的到達(dá)時(shí)間賦給 NowTime NowTime+=ServiceTimei;/把進(jìn)程的效勞時(shí)間加到 NowTimehFinishTimei=NowTime;/計(jì)算完成時(shí)間WholeTimei=FinishTimei-ArrivalTimei;/
13、計(jì)算周車(chē)t時(shí)間=完成時(shí)間-到達(dá)時(shí)間WeightWholeTimei=(double)WholeTimei/ServiceTimei;/計(jì)算帶權(quán)周轉(zhuǎn)時(shí)間=周轉(zhuǎn)時(shí)間/效勞時(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/Nuim;均帶權(quán)周轉(zhuǎn)時(shí)間 for(i=0;i<Num;i+)/ 依次輸出結(jié)果 ( cout<<"時(shí)刻"<<FinishTimei-Servi
14、ceTimei<<":進(jìn)程"<<i+1<<"開(kāi)始運(yùn)行."<<"其完成時(shí)間:"<<FinishTimei<<" 周轉(zhuǎn)時(shí)間:"<<WholeTimei<<setprecision(3)<<"帶權(quán)周轉(zhuǎn)時(shí)間:"<<WeightWholeTimei<<setprecision(3)<<endl; cout<<"平均周轉(zhuǎn)時(shí)間:"<
15、;<AverageWT_FCFS<<endl; cout<<"平均帶權(quán)周轉(zhuǎn)時(shí)間:"<<AverageWWT_FCFS<<endl; */短進(jìn)程優(yōu)先算法/*void SJF()/找已經(jīng)到達(dá)的且效勞時(shí)間最短的進(jìn)程(假定輸入的進(jìn)程是根據(jù)到達(dá)時(shí)間先后輸入的)(cout<<""<<endl;cout<<"SJF"<<endl;cout<<""<<endl;int min=0;NowTime=Arriv
16、alTime0+ServiceTime0;/ 計(jì)算第一次的 NowTImeFinishTime0=NowTime;/計(jì)算第一個(gè)進(jìn)程的完成時(shí)間ServiceTime_SJF0=1000;/賦初值.標(biāo)準(zhǔn)實(shí)用文檔cout<<"時(shí)亥U"<<FinishTime0-ServiceTime0<<":進(jìn)程"<<1<<"開(kāi)始運(yùn)行."int allin=0,j,k; for(i=1;i<Num;i+)/ 進(jìn)入循環(huán),從第二個(gè)到達(dá)的進(jìn)程開(kāi)始 k=1;min=0; if(allin=0)/ 找
17、到已經(jīng)到達(dá)的進(jìn)程個(gè)數(shù) j=0; while(ArrivalTimej<=NowTime && j<Num)/已經(jīng)到達(dá)的進(jìn)程 j+; if(j>=Num) allin=1; else j=Num; j=j-1;/j是已經(jīng)到達(dá)的進(jìn)程數(shù)while(k<=j)/從已經(jīng)到達(dá)的進(jìn)程里找到效勞時(shí)間最短的進(jìn)程if(ServiceTime_SJFk=0)/進(jìn)程的效勞時(shí)間如果等于 0,那么跳過(guò)該進(jìn)程k+; else if(ServiceTime_SJFmin>ServiceTime_SJFk)/ 比擬,找到效勞時(shí)間最短的進(jìn)程 min=k; k+; ServiceTim
18、e_SJFmin=0;/找完后置零,便于下一次循環(huán)時(shí)使用NowTime+=ServiceTimemin;/ 累加當(dāng)前時(shí)間 FinishTimemin=NowTime;/完成時(shí)間 for(i=0;i<Num;i+)/ 計(jì)算周轉(zhuǎn)時(shí)間,帶權(quán)周轉(zhuǎn)時(shí)間,總的周轉(zhuǎn)時(shí)間和總的帶權(quán)周轉(zhuǎn)時(shí)間 WholeTimei=FinishTimei-ArrivalTimei; WeightWholeTimei=(double)WholeTimei/ServiceTimei; SumWT+=WholeTimei; SumWWT+=WeightWholeTimei; 標(biāo)準(zhǔn)實(shí)用文檔AverageWT_SJF=SumWT/N
19、um;/F均周轉(zhuǎn)時(shí)間AverageWWT_SJF=SumWWT/NunW 帶權(quán)周轉(zhuǎn)時(shí)間cout<<"其完成時(shí)間:"<<FinishTime0<<" 周轉(zhuǎn)時(shí)間:"<<WholeTime0<<setprecision(3)<<"帶權(quán)周轉(zhuǎn)時(shí)間:"<<WeightWholeTime0<<setprecision(3)<<endl;for(i=1;i<Num;i+)輸出結(jié)果cout<<"時(shí)刻"<
20、<FinishTimei-ServiceTimei<<":進(jìn)程"<<i+1<<"開(kāi)始運(yùn)行."<<"其完成時(shí)間:"<<FinishTimei<<" 周轉(zhuǎn)時(shí)間:"<<WholeTimei<<setprecision(3)<<" 帶權(quán)周轉(zhuǎn)時(shí)間 : "<<WeightWholeTimei<<setprecision(3)<<endl; cout<&l
21、t;"平均周轉(zhuǎn)時(shí)間:"<<AverageWT_SJF<<endl; cout<<"平均帶權(quán)周轉(zhuǎn)時(shí)間:"<<AverageWWT_SJF<<endl; */輸入函數(shù)/*void input()cout<<"請(qǐng)輸入進(jìn)程個(gè)數(shù):"cin>>Num;while(Num>100|Num<=0)cout<<"進(jìn)程個(gè)數(shù)必'須大于0且小于等于100!請(qǐng)重新輸入進(jìn)程個(gè)數(shù): cin>>Num;cout<<&q
22、uot;"<<endl;for(i=0;i<Num;i+)cout<<"請(qǐng)輸入第"<<i+1<<"個(gè)進(jìn)程的到達(dá)時(shí)間:"cin>>ArrivalTimei;cout<<""<<endl;for(i=0;i<Num;i+)int data=0;cout<<"請(qǐng)輸入第"<<i+1<<"個(gè)進(jìn)程的效勞時(shí)間:"cin>>data;ServiceTimei=data;Ser
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 配送在物流中的作用
- 中醫(yī)護(hù)理學(xué)(第5版)課件 第九章針灸療法與護(hù)理3十四經(jīng)脈及其常用腧穴
- 交通運(yùn)輸行業(yè)智能交通與船舶導(dǎo)航方案
- 科技項(xiàng)目研究可行性研究報(bào)告
- 家庭智能家居控制系統(tǒng)的
- 股份制改革流程及關(guān)鍵文書(shū)編寫(xiě)指南
- 家庭園藝種植技術(shù)手冊(cè)
- 項(xiàng)目申請(qǐng)書(shū)和可行性研究報(bào)告的關(guān)系
- 工廠項(xiàng)目可行性報(bào)告
- 企業(yè)人力資源管理師(三級(jí))實(shí)操練習(xí)試題及答案
- 加強(qiáng)溝通協(xié)調(diào):制定溝通協(xié)調(diào)工作方案
- 中西醫(yī)結(jié)合規(guī)范化癌痛全程管理 癌痛的中西醫(yī)結(jié)合規(guī)范化治療(一)課件
- 新產(chǎn)品開(kāi)發(fā)流程圖
- 儲(chǔ)氣罐日常點(diǎn)檢記錄表
- 安 全 旁 站 監(jiān) 理 記 錄 表
- 村衛(wèi)生室醫(yī)療質(zhì)量督導(dǎo)檢查匯總表
- 電子商務(wù)專(zhuān)升本考試(習(xí)題卷12)
- 小學(xué)部編五下快樂(lè)讀書(shū)吧整本書(shū)閱讀-《西游記》閱讀指導(dǎo)課教學(xué)設(shè)計(jì)
- 高中英語(yǔ)-what's in a name教學(xué)課件設(shè)計(jì)
- 德能勤績(jī)考核評(píng)價(jià)表
- 新譯林牛津版英語(yǔ)八年級(jí)上冊(cè)Unit1-Friends復(fù)習(xí)優(yōu)質(zhì)課公開(kāi)課課件
評(píng)論
0/150
提交評(píng)論