版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
操作系統(tǒng)實(shí)習(xí)報(bào)告先來先服務(wù)算法的實(shí)現(xiàn)一、設(shè)計(jì)目的加深對進(jìn)程調(diào)度工作的理解,了解其優(yōu)點(diǎn)缺點(diǎn)。二、設(shè)計(jì)內(nèi)容設(shè)計(jì)一個(gè)按先來先服務(wù)算法實(shí)現(xiàn)處理器調(diào)度的程序。三、開發(fā)環(huán)境windows環(huán)境,VC6.0平臺(tái)。四、分析設(shè)計(jì)(一)實(shí)驗(yàn)原理1.每個(gè)進(jìn)程由一個(gè)進(jìn)程控制塊來識(shí)別,進(jìn)程控制塊的內(nèi)容如下所示:進(jìn)程名到達(dá)時(shí)間服務(wù)時(shí)間開始時(shí)間結(jié)束時(shí)間進(jìn)程名:進(jìn)程表示。到達(dá)時(shí)間:進(jìn)程創(chuàng)建時(shí)的系統(tǒng)時(shí)間或者用戶指定,調(diào)度時(shí)選擇到達(dá)時(shí)間最早的進(jìn)程。服務(wù)時(shí)間:進(jìn)程運(yùn)行所需的時(shí)間。開始時(shí)間:進(jìn)程開始執(zhí)行的時(shí)間。結(jié)束時(shí)間:進(jìn)程執(zhí)行結(jié)束時(shí)的時(shí)間。2.設(shè)置一個(gè)數(shù)組,用來存放進(jìn)入系統(tǒng)的進(jìn)程。3.處理機(jī)調(diào)度時(shí),總是選擇通過冒泡排序選出的到達(dá)時(shí)間靠前的進(jìn)程投入運(yùn)行。4.在所設(shè)計(jì)的程序中應(yīng)該有顯示或打印語句顯示或者打印正在運(yùn)行的進(jìn)程的進(jìn)程名進(jìn)程到達(dá)時(shí)間、進(jìn)程服務(wù)時(shí)間、進(jìn)程開始執(zhí)行時(shí)間、進(jìn)程完成時(shí)間、進(jìn)程周轉(zhuǎn)時(shí)間、進(jìn)程帶權(quán)周轉(zhuǎn)時(shí)間。(二)程序結(jié)構(gòu)通過輸入函數(shù)input創(chuàng)建進(jìn)程后,送入數(shù)組中,通過冒泡排序?qū)?shù)組中各進(jìn)程的到達(dá)時(shí)間進(jìn)行排序,到達(dá)時(shí)間小的會(huì)優(yōu)先得到處理機(jī)的分配。進(jìn)行進(jìn)程調(diào)度前,進(jìn)程的各個(gè)信息如下:arriveti,serviceti,startti,finishti,zzti,dqzzti假設(shè)進(jìn)程K的到達(dá)比進(jìn)程1提前到達(dá),得到分配處理機(jī)后,通過deal函數(shù)處理:p[k].startti=p[k].arriveti;p[k].finishti=p[k].arriveti+p[k].serviceti;p[k].zzti=p[k].finishti-p[k].arriveti;p[k].dqzzti[k].zzti/p[k].serviceti;最后調(diào)用輸出函數(shù)Print()對進(jìn)程的各個(gè)信息進(jìn)行輸出。(三)數(shù)據(jù)結(jié)構(gòu)1.主函數(shù)2.進(jìn)程控制塊的內(nèi)容如下:3.創(chuàng)建進(jìn)程算法,根據(jù)輸入的個(gè)數(shù)存儲(chǔ)到數(shù)組中,創(chuàng)建時(shí)信息包括進(jìn)程名、到達(dá)時(shí)間、服 務(wù)時(shí)間,創(chuàng)建進(jìn)程后可在主函數(shù)調(diào)用FCFS()函數(shù)進(jìn)行處理。4.輸出函數(shù),輸出信息包括:進(jìn)程名、到達(dá)時(shí)間、服務(wù)時(shí)間、開始時(shí)間、完成時(shí)間、周轉(zhuǎn)時(shí)間、帶權(quán)周轉(zhuǎn)時(shí)間以及進(jìn)程執(zhí)行順序。5.排序函數(shù),對到達(dá)時(shí)間進(jìn)行排序,對先來的進(jìn)程進(jìn)行調(diào)度6.運(yùn)行函數(shù),處理進(jìn)程開始執(zhí)行時(shí)間、完成時(shí)間、周轉(zhuǎn)時(shí)間、帶權(quán)周轉(zhuǎn)時(shí)間。7.調(diào)用處理函數(shù)(四)程序流程圖開始初始化進(jìn)程控制塊,讓進(jìn)程控制塊按進(jìn)程到達(dá)先后順序讓進(jìn)程排隊(duì)調(diào)度數(shù)調(diào)度數(shù)組中首個(gè)進(jìn)程,并讓數(shù)組中的下一位移到首位計(jì)算并打印進(jìn)程k的完成時(shí)刻、周轉(zhuǎn)帶權(quán)周轉(zhuǎn)時(shí)間其中:周轉(zhuǎn)時(shí)間=完成時(shí)間-到達(dá)帶權(quán)周轉(zhuǎn)時(shí)間=周轉(zhuǎn)時(shí)間務(wù)時(shí)間更改計(jì)時(shí)器的當(dāng)前時(shí)間,即下一刻進(jìn)程的當(dāng)前時(shí)間=K-1的完成時(shí)間+K的服務(wù)時(shí)間N數(shù)組為空時(shí)間開始時(shí)間Y結(jié)束五、運(yùn)行實(shí)例與結(jié)果分析如下表,輸入一下三個(gè)進(jìn)程A、B、C作業(yè)名到達(dá)時(shí)間服務(wù)時(shí)間A14B52C25實(shí)驗(yàn)結(jié)果如下:根據(jù)先來先服務(wù)的算法,進(jìn)程A到達(dá)時(shí)間為1,服務(wù)時(shí)間為4,進(jìn)程A開始執(zhí)行后,隨后的作業(yè)先到的就能夠排在前面,而B的到達(dá)時(shí)間為5,C的到達(dá)時(shí)間則為2,所以B在C之后執(zhí)行,知道執(zhí)行完。這個(gè)算法和進(jìn)程的運(yùn)行所需的時(shí)間無關(guān),只和先后到達(dá)順序有關(guān)。六、實(shí)驗(yàn)心得通過這次實(shí)習(xí),讓我對進(jìn)程作業(yè)先來先服務(wù)和進(jìn)程調(diào)度的概念和算法,有了更深入的認(rèn)識(shí)步理解了操作系統(tǒng)對于作業(yè)處理的基本思想時(shí)這次實(shí)習(xí)也是自己編程能力的一種考驗(yàn)深了理論知識(shí)的實(shí)際應(yīng)用!在實(shí)驗(yàn)的過程中遇到了很多困難,感謝同學(xué)們的幫助。七、實(shí)驗(yàn)源代碼#include<stdio.h>structfcfs{charname[10]; /進(jìn)程名floatarrivetime; /到達(dá)時(shí)間floatservicetime; /服務(wù)時(shí)間floatstarttime; /開始時(shí)間floatfinishtime; /完成時(shí)間floatzztime; /周轉(zhuǎn)時(shí)間floatdqzztime; /帶權(quán)周轉(zhuǎn)時(shí)間};fcfsa[100];////////////入////////////////voidinput(fcfs*p,intN){inti;printf("請輸入進(jìn)程名 到達(dá)時(shí)間服務(wù)時(shí)間:;for(i=0;i<=N-1;i{printf("請輸入第%d個(gè)進(jìn)程:\n",i+1);scanf("%s%f%f",&p[i].name,&p[i].arrivetime,&p[i].servicetime);}}////////////出////////////////voidPrint(fcfs*p,floatarrivetime,floatservicetime,floatstarttime,floatfinishtime,floatzztime,floatdqzztime,intN){intk;printf("運(yùn)行順序?yàn)?");printf("%s",p[0].name);for(k=1;k<N;k++){printf("-->%s",p[k].name);}printf(進(jìn)程信息如下:;printf("\nnamerrivervice\tstaniqzz;for(k=0;k<=N-1;k{printf("%-.2-.2-.2f\t%-.2-.2-.2f\t\n",p[k].name,p[k].arrivetime,p[k].servicetime,p[k].starttime,p[k].finishtime,p[k].zztime,p[k].dqzztime);}}/////////序函數(shù)////////////voidsort(fcfs*p,intN){for(inti=0;i<=N-1;i++)for(intj=0;j<=i;jif(p[i].arrivetime<p[j].arrivetime){fcfstemp;temp=p[i];p[i]=p[j];p[j]=temp;}}////////////行函數(shù)//////////voiddeal(fcfs*p,floatarrivetime,floatservicetime,floatstarttime,floatfinishtime,float&zztime,float&dqzztime,intN){intk;for(k=0;k<=N-1;k++){if(k==0) /第一個(gè)到達(dá)的進(jìn)程{p[k].starttime=p[k].arrivetime;p[k].finishtime=p[k].arrivetime+p[k].servicetime;}else/第一個(gè)以后到達(dá)的{p[k].starttime=p[k-1].finishtime;p[k].finishtime=p[k-1].finishtime+p[k].servicetime;}}for(k=0;k<=N-1;k++) /周轉(zhuǎn)時(shí)間和帶權(quán)周轉(zhuǎn)時(shí)間的計(jì)算{p[k].zztime=p[k].finishtime-p[k].arrivetime;p[k].dqzztime=p[k].zztimek].servicetime;}}/////////用處理////////voidFCFS(fcfs*p,intN){floatarrivetime=0,servicetime,starttime=0,finishtime=0,zztime=0,dqzztime=0;sort(p,N);deal(p,arrivetime,servicetime,starttime,finishtime,zztime,dqzztime,N);Print(p,arrive
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 律師行業(yè)道德與操守心得體會(huì)
- 一年級(jí)科學(xué)下冊實(shí)驗(yàn)教學(xué)計(jì)劃
- 郵政銀行崗位職責(zé)規(guī)章制度
- 薪酬管理與獎(jiǎng)懲制度
- 職業(yè)危害防護(hù)設(shè)施維護(hù)檢修制度
- 2025年上海虹口區(qū)高三一??萍紕?chuàng)新報(bào)告范文
- 職業(yè)技能評(píng)估管理制度
- 銷售培訓(xùn)經(jīng)理崗位職責(zé)
- 社區(qū)和慈善活動(dòng)管理制度
- 2025年秋季小學(xué)少先隊(duì)傳統(tǒng)文化傳承計(jì)劃
- 冷鏈凍品研究報(bào)告-冷鏈凍品行業(yè)市場深度分析及發(fā)展策略研究報(bào)告(2024年)
- 電梯廣告機(jī)可行性方案
- 辦公樓暖通空調(diào)系統(tǒng)的節(jié)能優(yōu)化方案
- 泵車述職報(bào)告
- 建材協(xié)會(huì)管理制度
- 關(guān)于春聯(lián)來源的研究報(bào)告
- 2024年山西文旅集團(tuán)招聘筆試參考題庫含答案解析
- 恢復(fù)中華人民共和國國籍申請表
- 220kV及以下變電站設(shè)備全面巡視標(biāo)準(zhǔn)
- (完整word版)doing-todo練習(xí)題
- 管理期貨的趨勢跟蹤策略 尋找危機(jī)阿爾法
評(píng)論
0/150
提交評(píng)論