




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
操作系統(tǒng)實(shí)習(xí)報(bào)告先來先服務(wù)算法的實(shí)現(xiàn)一、設(shè)計(jì)目的加深對(duì)進(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ǔ)句顯示或者打印正在運(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()對(duì)進(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ù),對(duì)到達(dá)時(shí)間進(jìn)行排序,對(duì)先來的進(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í),讓我對(duì)進(jìn)程作業(yè)先來先服務(wù)和進(jìn)程調(diào)度的概念和算法,有了更深入的認(rèn)識(shí)步理解了操作系統(tǒng)對(duì)于作業(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("請(qǐng)輸入進(jìn)程名 到達(dá)時(shí)間服務(wù)時(shí)間:;for(i=0;i<=N-1;i{printf("請(qǐng)輸入第%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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 青春的旋律校園文化節(jié)活動(dòng)記9篇范文
- 國(guó)際商務(wù)談判英語(yǔ)考點(diǎn)匯編及答案解析
- 2025年四川省自貢市中考物理試題含答案
- 顧客忠誠(chéng)度提升的心理學(xué)原理
- 音樂節(jié)、藝術(shù)展等活動(dòng)的社會(huì)影響力分析
- 非遺在辦公文化塑造中的獨(dú)特作用與價(jià)值體現(xiàn)研究報(bào)告
- 音樂產(chǎn)業(yè)線上線下融合策略新零售時(shí)代的創(chuàng)新路徑
- 音樂產(chǎn)業(yè)從傳統(tǒng)到新型商業(yè)模式的轉(zhuǎn)變
- 音樂、舞蹈等藝術(shù)形式的跨文化傳播實(shí)踐
- 青少年學(xué)習(xí)的最 佳時(shí)間管理技巧探索
- 廣州市廣大附中2024屆八年級(jí)數(shù)學(xué)第二學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試題含解析
- DB44-T 2457-2024 地質(zhì)災(zāi)害自動(dòng)化監(jiān)測(cè)規(guī)范
- 《水安將軍》知識(shí)考試題庫(kù)(800題版)
- 軟件項(xiàng)目詳細(xì)設(shè)計(jì)報(bào)告
- 提高醫(yī)囑執(zhí)行準(zhǔn)確率品管圈課件
- 《多囊腎的護(hù)理》課件
- 醫(yī)院培訓(xùn)課件:《發(fā)熱伴血小板減少綜合征醫(yī)院感染防控》
- 工程掛靠協(xié)議1
- 智能門鎖采購(gòu)?fù)稑?biāo)方案
- 供應(yīng)商貨款打折協(xié)議書正規(guī)范本(通用版)
- 中建XGT7022、XGT7020塔吊基礎(chǔ)施工方案
評(píng)論
0/150
提交評(píng)論