



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí) 驗(yàn) 報(bào) 告題目名稱C語言實(shí)現(xiàn)調(diào)度算法程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告-先來先服務(wù)FCFS院系 a班級(jí) 完成時(shí)間 指導(dǎo)老師 本次實(shí)驗(yàn)成績主要原理及所參考的資料算法原理:設(shè)計(jì)程序模擬進(jìn)程的先來先服務(wù)FCFS過程。假設(shè)有n個(gè)進(jìn)程分別在T1, ,Tn時(shí)刻到達(dá)系統(tǒng),它們需要的服務(wù)時(shí)間分別為S1, ,Sn。分別采用先來先服務(wù)FCFS調(diào)度算法進(jìn)行調(diào)度,計(jì)算每個(gè)進(jìn)程的完成時(shí)間,周轉(zhuǎn)時(shí)間和帶權(quán)周轉(zhuǎn)時(shí)間,并且統(tǒng)計(jì)n個(gè)進(jìn)程的平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間。程序要求如下:1)進(jìn)程個(gè)數(shù)n;每個(gè)進(jìn)程的到達(dá)時(shí)間T1, ,Tn和服務(wù)時(shí)間S1, ,Sn。2)要求采用先來先服務(wù)FCFS調(diào)度進(jìn)程運(yùn)行,計(jì)算每個(gè)進(jìn)程的周轉(zhuǎn)時(shí)間,帶權(quán)周轉(zhuǎn)時(shí)間,并且
2、計(jì)算所有進(jìn)程的平均周轉(zhuǎn)時(shí)間,帶權(quán)平均周轉(zhuǎn)時(shí)間;3)輸出:要求模擬整個(gè)調(diào)度過程,輸出每個(gè)時(shí)刻的進(jìn)程運(yùn)行狀態(tài),如“時(shí)刻3:進(jìn)程B開始運(yùn)行”等等;4)輸出:要求輸出計(jì)算出來的每個(gè)進(jìn)程的周轉(zhuǎn)時(shí)間,帶權(quán)周轉(zhuǎn)時(shí)間,所有進(jìn)程的平均周轉(zhuǎn)時(shí)間,帶權(quán)平均周轉(zhuǎn)時(shí)間。主要參考書:計(jì)算機(jī)操作系統(tǒng)第三版 西安電子科技大學(xué)出版社 湯小丹主編主要算法具體實(shí)驗(yàn)步驟實(shí)現(xiàn)提示:用C語言實(shí)現(xiàn)提示:1)程序中進(jìn)程調(diào)度時(shí)間變量描述如下:static int MaxNum=100;int ArrivalTimeMaxNum;int ServiceTimeMaxNum;int FinishTimeMaxNum;int WholeTimeMa
3、xNum;double WeightWholeTimeMaxNum;double AverageWT_FCFS; double AverageWWT_FCFS;2)進(jìn)程調(diào)度的實(shí)現(xiàn)過程如下: 變量初始化; 接收用戶輸入n,T1, ,Tn,S1, ,Sn; 按照選擇算法進(jìn)行進(jìn)程調(diào)度,計(jì)算進(jìn)程的完成時(shí)間、周轉(zhuǎn)時(shí)間和帶權(quán)周轉(zhuǎn)時(shí)間; 計(jì)算所有進(jìn)程的平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間; 按格式輸出調(diào)度結(jié)果。實(shí)驗(yàn)要求1. 程序流程圖P=HEAD ; i=0P=Q;P=P-NEXT;P=P-NEXT;Q-STARTTIME=TIMEQ-STATE=T 開始i+;輸出執(zhí)行進(jìn)程信息結(jié)束P-STATE=F?Q-ARRI
4、VETIME TIME?i STARTTIME=ARRIVETIMEQ-STATE=T YNYNNY2. 程序源代碼#includestdio.h#includestdlib.htypedef struct PCB /定義進(jìn)程控制塊 char name10; /進(jìn)程名char state; /運(yùn)行狀態(tài)int ArriveTime; /到達(dá)時(shí)間int StartTime; /進(jìn)程開始時(shí)間int FinishTime; /進(jìn)程結(jié)束時(shí)間int ServiceTime; /服務(wù)時(shí)間float WholeTime;/周轉(zhuǎn)時(shí)間float WeightWholeTime;/帶權(quán)周轉(zhuǎn)時(shí)間double Aver
5、ageWT_FCFS; /平均周轉(zhuǎn)時(shí)間double AverageWWT_FCFS;/帶權(quán)平均周轉(zhuǎn)時(shí)間struct PCB *next; /指向下個(gè)進(jìn)程pcb;double x=0,y=0;int i;int time; /計(jì)時(shí)器int n; /進(jìn)程個(gè)數(shù)pcb *head=NULL,*p,*q; /進(jìn)程鏈表指針void run_FCFS(pcb *p1) /運(yùn)行未完成的進(jìn)程time = p1-ArriveTime time? p1-ArriveTime:time;p1-StartTime=time;printf(n時(shí)刻:%d, 當(dāng)前開始運(yùn)行作業(yè)%snn,time,p1-name);time+=
6、p1-ServiceTime;p1-state=T;p1-FinishTime=time;p1-WholeTime=p1-FinishTime-p1-ArriveTime;p1-WeightWholeTime=p1-WholeTime/p1-ServiceTime;x+=p1-WholeTime;y+=p1-WeightWholeTime;p1-AverageWT_FCFS=p1-WholeTime/n;p1-AverageWWT_FCFS=p1-WeightWholeTime/n;printf( 到達(dá)時(shí)間 開始時(shí)間 服務(wù)時(shí)間 完成時(shí)間 周轉(zhuǎn)時(shí)間 帶權(quán)周轉(zhuǎn)時(shí)間 n);printf(%6d %1
7、0d %10d %8d %10.1f %10.2f n ,p1-ArriveTime,p1-StartTime,p1-ServiceTime,p1-FinishTime,p1-WholeTime,p1-WeightWholeTime); printf(n平均周轉(zhuǎn)時(shí)間 平均帶權(quán)周轉(zhuǎn)時(shí)間 n);printf( %10.2f %10.2fn ,p1-AverageWT_FCFS,p1-AverageWWT_FCFS);void FCFS() /找到當(dāng)前未完成的進(jìn)程 int i; p=head; for(i=0;istate=F) q=p; /標(biāo)記當(dāng)前未完成的進(jìn)程 run_FCFS(q); p=p-n
8、ext; void getInfo() /獲得進(jìn)程信息并創(chuàng)建進(jìn)程int num;printf(n進(jìn)程個(gè)數(shù):);scanf(%d,&n);for(num=0;numname,&p-ArriveTime,&p-ServiceTime);if(head=NULL) head=p;q=p;time=p-ArriveTime;if(p-ArriveTime ArriveTime;q-next=p;p-StartTime=0;p-FinishTime=0;p-WholeTime=0;p-WeightWholeTime=0;p-next=NULL;p-state=F;q=p; void main()printf(先來先服務(wù)FCFS算
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 假山施工合同承包書
- 房屋建筑工程保修合同協(xié)議
- 影視制作與發(fā)行合作合同
- 三方消防施工合同
- 苗木種植土地承包合同
- 加氣塊砌筑合同協(xié)議書
- 勞務(wù)中介公司服務(wù)合同
- 溫州浙江溫州瑞安市人民醫(yī)院招聘合同制工作人員筆試歷年參考題庫附帶答案詳解
- 法語獨(dú)家商務(wù)代理合同
- 廣州華商職業(yè)學(xué)院《典型企業(yè)云平臺(tái)搭建》2023-2024學(xué)年第二學(xué)期期末試卷
- GB/T 2624.6-2024用安裝在圓形截面管道中的差壓裝置測(cè)量滿管流體流量第6部分:楔形裝置
- 《理床鋪》教案 蘇科版一年級(jí)上冊(cè)小學(xué)勞動(dòng)
- 全國英語等級(jí)考試二級(jí)(pets2級(jí))歷年真題試卷(二)
- 社團(tuán)活動(dòng)情況登記表
- 2025屆湖北武漢武昌區(qū)武漢大學(xué)附屬中學(xué)數(shù)學(xué)高三上期末達(dá)標(biāo)測(cè)試試題含解析
- 山東省濰坊市2023-2024學(xué)年高二下學(xué)期期末測(cè)試+英語試卷
- 生涯規(guī)劃與就業(yè)創(chuàng)業(yè)全套課件電子教案板
- 湘少版六年級(jí)英語下冊(cè)《全冊(cè)課件》
- 2024-2030年中國護(hù)眼臺(tái)燈行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 《土壤肥料學(xué)通論》課程教學(xué)大綱
- 第十四屆全國交通運(yùn)輸行業(yè)職業(yè)技能競(jìng)賽(公路收費(fèi)及監(jiān)控員)賽項(xiàng)題庫-下(多選題-共3部分-2)
評(píng)論
0/150
提交評(píng)論