版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、FCFSffi SJF進(jìn)程調(diào)度算法實(shí)驗(yàn)報(bào)告【實(shí)驗(yàn)題目】:編寫程序,實(shí)現(xiàn)FCFS和SJF算法,模擬作業(yè)調(diào)度過程,加深對(duì)作業(yè)調(diào)度的理解?!?實(shí)驗(yàn)內(nèi)容】實(shí)現(xiàn)FCF和SJF調(diào)度算法。-數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)(JCB,后備作業(yè)隊(duì)列)算法實(shí)現(xiàn)與模擬(排序、調(diào)度)輸出調(diào)度結(jié)果,展示調(diào)度過程并解釋【 實(shí)驗(yàn)要求】1. 設(shè)計(jì)作業(yè)控制塊(JCB) 的數(shù)據(jù)結(jié)構(gòu)應(yīng)包含實(shí)驗(yàn)必須的數(shù)據(jù)項(xiàng),如作業(yè) ID、需要的服務(wù)時(shí)間、進(jìn)入系統(tǒng)時(shí)間、完成時(shí)間,以及實(shí)驗(yàn)者認(rèn)為有必要的其他數(shù)據(jù)項(xiàng)。2. 實(shí)現(xiàn)排序算法(將作業(yè)排隊(duì))策略1:按“進(jìn)入系統(tǒng)時(shí)間”對(duì)作業(yè)隊(duì)列排序(FCFS)-策略2:按“需要的服務(wù)時(shí)間”對(duì)作業(yè)隊(duì)列排序(SJF)3. 實(shí)現(xiàn)調(diào)度過程模擬
2、(1)每個(gè)作業(yè)用一個(gè)JC瞇示,如果模擬FCFS按策略1將作業(yè)排隊(duì),如果模擬SJF,按策略2將作業(yè)排隊(duì)(2)選擇隊(duì)首的作業(yè),將其從后備隊(duì)列移出(3) (作業(yè)運(yùn)行過程,在本實(shí)驗(yàn)中,無需實(shí)現(xiàn),可認(rèn)為后備隊(duì)列的作業(yè)一但被調(diào)度程序選出,就順利運(yùn)行完畢,可以進(jìn)入第4步)(4) 計(jì)算選中作業(yè)的周轉(zhuǎn)時(shí)間(5) 進(jìn)行下一次調(diào)度(去往第2步)4. 實(shí)現(xiàn)結(jié)果輸出輸出作業(yè)狀態(tài)表,展示調(diào)度過程? 初始作業(yè)狀態(tài)(未調(diào)度時(shí))? 每次調(diào)度后的作業(yè)狀態(tài)設(shè)計(jì)作業(yè)控制塊(JCB) 的數(shù)據(jù)結(jié)構(gòu)每個(gè)作業(yè)由一個(gè)作業(yè)控制塊 JC瞇示,JCB可以包含如下信息:作業(yè)名、提交時(shí)間、所需的運(yùn)行時(shí)間、所需的資源、作業(yè)狀態(tài)、鏈指針等等。具體結(jié)構(gòu)如下:
3、typedef struct jcbchar name10;/* 作業(yè)名*/char state; /* 作業(yè)狀態(tài)*/int ts; /* 提交時(shí)間*/float super; /* 優(yōu)先權(quán)*/int tb; /* 開始運(yùn)行時(shí)間*/int tc; /* 完成時(shí)間*/float ti; /* 周轉(zhuǎn)時(shí)間*/float wi; /* 帶權(quán)周轉(zhuǎn)時(shí)間*/int ntime; /* 作業(yè)所需運(yùn)行時(shí)間*/char resource10; /* 所需資源*/struct jcb *next; /* 結(jié)構(gòu)體指針*/ JCB;JCB *p,*tail=NULL,*head=NULL;作業(yè)的狀態(tài)可以是等待 W(Wa
4、it)、運(yùn)行R(Run)和完成F(Finish)三種狀態(tài)之一。每個(gè)作業(yè)的最初狀態(tài)總 是等待W ,組成一個(gè)后備隊(duì)列等待,總是首先調(diào)度等待隊(duì)列中隊(duì)首的作業(yè)。本實(shí)驗(yàn)采用鏈表的形式存放各后備隊(duì)列當(dāng)中的作業(yè)控制塊,各個(gè)等待的作業(yè)按照提交時(shí)刻的先后次序排隊(duì)。當(dāng)一個(gè)作業(yè)進(jìn)入系統(tǒng)時(shí),就為其動(dòng)態(tài)建立一作業(yè)控制塊(JCB),掛入后備隊(duì)列尾部。當(dāng)作業(yè)調(diào)度時(shí),從后備隊(duì)列中按某種調(diào)度算法選擇一作業(yè),讓其進(jìn)入主存以便占用CPUl行。每個(gè)作業(yè)完成后要打印該作業(yè)的開始運(yùn)行時(shí)刻、完成時(shí)刻、周轉(zhuǎn)時(shí)間和帶權(quán)周轉(zhuǎn)時(shí)間,這一組作業(yè)完成后要計(jì)算并打印這組作業(yè)的平均周轉(zhuǎn)時(shí)間、帶權(quán)平均周轉(zhuǎn)時(shí)間。程序代碼:#include#include#d
5、efine Number 5void main()int n;int daodaNumber,fuwuNumber,i;cout 請(qǐng)依次輸入各個(gè)進(jìn)程的到達(dá)時(shí)間并以空格間隔:;for(i=0;idaodai;cout 請(qǐng)依次輸入各個(gè)進(jìn)程的服務(wù)時(shí)間,并以空格間隔:;for(i=0;ifuwui;coutn;while(n3)coutn;struct statedd oneF = false;processi.doneS = false;processi.wancheng = 0;processi.zhouzhuan = 0;processi.daiquan = 0;processi.wan = 0
6、;processi.zhou = 0;processi.dai =0;processi.daoda = daodai;processi.fuwu = fuwui;oneF=true;processfirst.doneS=true;processfirst.wancheng = processfirst.fuwu + processfirst.daoda;processfirst.wan = processfirst.fuwu + processfirst.daoda;timeflyF += processfirst.daoda+processfirst.fuwu;timeflyS += pro
7、cessfirst.daoda+processfirst.fuwu;oneF ) if( processk.daoda processk.daoda )nextproF = k; ancheng = processnextproF.fuwu + timeflyF;timeflyF += processnextproF.fuwu;processnextproF.doneF=true; oneS) if( processk.daoda processk.fuwu )nextproS = k; an = processnextproS.fuwu + timeflyS;timeflyS += proc
8、essnextproS.fuwu;processnextproS.doneS=true; houzhuan=processi.wancheng-processi.daoda;Fz += processi.zhouzhuan;processi.daiquan=processi.zhouzhuan/processi.fuwu;Fdq += processi.daiquan;hou=processi.wan-processi.daoda;Sz += processi.zhou;processi.dai=processi.zhou/processi.fuwu;Sdq += processi.dai;a
9、ncheng:進(jìn)程i+1在運(yùn)行endl;coutsetw(10)進(jìn)程 IDcoutsetw(10)完成時(shí)間coutsetw(10)周轉(zhuǎn)時(shí)間coutsetw(10)帶權(quán)周轉(zhuǎn)時(shí)間 endl;for(i=0;iNumber;i+)coutsetw(10)i+1 ;coutsetw(10)setiosflags(ios:fixed)setprecision(2)processi.wancheng coutsetw(10)setiosflags(ios:fixed)setprecision(2)processi.zhouzhuan coutsetw(10)setiosflags(ios:fixed)se
10、tprecision(2)processi.daiquanendl;cout平均周轉(zhuǎn)時(shí)間為:setiosflags(ios:fixed)setprecision(2)Fz/Numberendl;cout 平 均 帶 權(quán) 周 轉(zhuǎn) 時(shí) 間 為setiosflags(ios:fixed)setprecision(2)Fdq/Numberendl;an:進(jìn)程i+l在運(yùn)行endl;coutsetw(10)進(jìn)程 IDcoutsetw(10)完成時(shí)間coutsetw(10)周轉(zhuǎn)時(shí)間coutsetw(10)帶權(quán)周轉(zhuǎn)時(shí)間 endl;for(i=0;iNumber;i+)coutsetw(10)i+1;couts
11、etw(10)setiosflags(ios:fixed)setprecision(2)processi.wan;coutsetw(10)setiosflags(ios:fixed)setprecision(2)processi.zhou;coutsetw(10)setiosflags(ios:fixed)setprecision(2)processi.daiendl;)cout平均周轉(zhuǎn)時(shí)間為:setiosflags(ios:fixed)setprecision(2)Sz/Numberendl;cout 平 均 帶 權(quán) 周 轉(zhuǎn) 時(shí) 間 為setiosflags(ios:fixed)setpre
12、cision(2)Sdq/Numberendl;coutt_奇 并,SJ 時(shí)時(shí)選 摩=2 研嘴 日H十門 重CFS 卜和 法卷桁 A入IV 膏n= 需人 福依輸 rllp-gF: 均場(chǎng)SJI3時(shí)時(shí)時(shí) I,4弓;進(jìn)矍&在達(dá);行:進(jìn)捏E在運(yùn)9程ID 1權(quán)周轉(zhuǎn)時(shí)間為1完成時(shí)間 25.03 24.UU 45.03 7.09 lr0R23.ea周轉(zhuǎn)時(shí)間1?.008 M 36.86 49. S89. HR*1*63 any key to continue3同時(shí)調(diào)用FCF9口 SJF但理21 9 IS R隔:4 it 22 9帶權(quán)周轉(zhuǎn)時(shí)間 1.70 2-Hti 2.Z5 2.23 lrRRft-2K D:19Dcbug19.ex。請(qǐng)依次領(lǐng)入各個(gè)進(jìn)性為到達(dá)町間并以空輕舊的:8 2JL 9 L8 6請(qǐng)依次輸入各個(gè)進(jìn)槨的熊務(wù)寸嘰 并以空格同府10 4 L6 22 9請(qǐng)輸入n =1選擇FCFS/者n =2選擇S JF或者n =3向時(shí)調(diào)用FCFS和S JF, n =3FC時(shí)時(shí)時(shí)時(shí)時(shí)G7:63:過程2在亨打:進(jìn)程3在運(yùn)后.班接4在運(yùn)懺茬5茬運(yùn)行 完成時(shí)間進(jìn)程ID 1 2 325. R067. R041.0063.0015.00周轉(zhuǎn)時(shí)間 17 00 46.0H 32.00 45.00 9.00帶權(quán)周轉(zhuǎn)時(shí)間I .7R11 .SA2.002.05 .00安心進(jìn)程工在運(yùn)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年設(shè)備租賃合同設(shè)備類型與租賃條件
- 2024年網(wǎng)絡(luò)安全防護(hù)技術(shù)保密合同
- 2024新能源汽車生產(chǎn)與銷售股份轉(zhuǎn)讓協(xié)議
- 2025年度智能家居窗簾智能控制升級(jí)合同3篇
- 2024食材配送與食堂承包合同
- 2025年度數(shù)據(jù)中心機(jī)房租賃及維護(hù)合同3篇
- 2024年防盜門交易協(xié)議范本版B版
- 2024年高科技產(chǎn)業(yè)在建項(xiàng)目抵押貸款協(xié)議3篇
- 2024年項(xiàng)目融資合同協(xié)議
- 2025年度海洋油氣資源勘探開發(fā)承包合同樣本3篇
- 初三年級(jí)主任述職報(bào)告
- 康復(fù)科2024年度工作總結(jié)及發(fā)展規(guī)劃
- 縣區(qū)采礦行業(yè)稅收分析
- 自制口紅培訓(xùn)課件
- 《鐵道概論課件》課件
- NB-T 47013.15-2021 承壓設(shè)備無損檢測(cè) 第15部分:相控陣超聲檢測(cè)
- 英文 補(bǔ)充協(xié)議 模板
- 安徽省生豬養(yǎng)殖業(yè)低碳發(fā)展模式及技術(shù)經(jīng)濟(jì)效果研究的中期報(bào)告
- 風(fēng)管機(jī)空調(diào)安裝施工方案
- 2023-2024學(xué)年江蘇省蘇州市數(shù)學(xué)六年級(jí)第一學(xué)期期末統(tǒng)考模擬試題含答案
- 食堂餐飲配送投標(biāo)方案
評(píng)論
0/150
提交評(píng)論