2023年進(jìn)程調(diào)度算法的實(shí)現(xiàn)實(shí)驗(yàn)報(bào)告_第1頁
2023年進(jìn)程調(diào)度算法的實(shí)現(xiàn)實(shí)驗(yàn)報(bào)告_第2頁
2023年進(jìn)程調(diào)度算法的實(shí)現(xiàn)實(shí)驗(yàn)報(bào)告_第3頁
2023年進(jìn)程調(diào)度算法的實(shí)現(xiàn)實(shí)驗(yàn)報(bào)告_第4頁
2023年進(jìn)程調(diào)度算法的實(shí)現(xiàn)實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

南昌大學(xué)賣膾報(bào)告■一(4J進(jìn)程惆盛算法的實(shí)現(xiàn)學(xué)生姓名:學(xué)號(hào):專業(yè)班級(jí):實(shí)驗(yàn)類型:口驗(yàn)證□綜合■設(shè)計(jì)口創(chuàng)新實(shí)驗(yàn)日期:實(shí)驗(yàn)成績(jī):一、實(shí)驗(yàn)?zāi)康耐ㄟ^實(shí)驗(yàn)加強(qiáng)對(duì)進(jìn)程調(diào)度算法的理解和掌握。二、實(shí)驗(yàn)內(nèi)容編寫程序?qū)崿F(xiàn)進(jìn)程調(diào)度算法,具體可以編寫程序?qū)崿F(xiàn)先來先服務(wù)算法或優(yōu)先度高者調(diào)度算法。三、實(shí)驗(yàn)規(guī)定1、需寫出設(shè)計(jì)說明;2、設(shè)計(jì)實(shí)現(xiàn)代碼及說明;3、運(yùn)營結(jié)果;四、重要實(shí)驗(yàn)環(huán)節(jié)1、分析實(shí)驗(yàn)內(nèi)容,畫出算法流程圖;2、根據(jù)流程圖寫出實(shí)驗(yàn)代碼;3、編譯代碼,驗(yàn)證結(jié)果對(duì)的與否;4、對(duì)程序進(jìn)行修改,得到最后結(jié)果。流程圖如下:誑牙M至u蟲nJntr-不出I匕色」代力工:,誑牙M至u蟲nJntr-不出I匕色」代力工:,JN五、實(shí)驗(yàn)數(shù)據(jù)及解決結(jié)果

H:\DocunentsandSettingsXfldninistratorMlyDocunents\C>fcfsFCFS算法開始DesignedbyZhangHong轉(zhuǎn)名^^^周程達(dá)1鬟進(jìn)錯(cuò)完—6348138751.6C64291671033.6轉(zhuǎn)名^^^周程達(dá)1鬟進(jìn)錯(cuò)完—6348138751.6C64291671033.6D92522191272.4E97432621653.8平均106.82.5繼續(xù)募入,,退嵯

輸入藪建還是由索籟嚅疆?dāng)?shù)據(jù)薊入:1露入5個(gè)進(jìn)程的到達(dá)時(shí)間:01234端入5個(gè)進(jìn)住對(duì)應(yīng)的服務(wù)時(shí)間:572可可晌間同同間轉(zhuǎn)名周程達(dá)1曩進(jìn)招完,可可晌間同同間轉(zhuǎn)名周程達(dá)1曩進(jìn)招完,繼續(xù)輸入1,退出輸入。。請(qǐng)輸入:0FCFS算法結(jié)束,謝謝使用n:\DocunentsandSettings\/idninistratorXMyDocunents\C>六、實(shí)驗(yàn)體會(huì)或?qū)Ω纳茖?shí)驗(yàn)的建議在做這個(gè)實(shí)驗(yàn)的時(shí)候,一開始認(rèn)為很簡(jiǎn)樸,只要做簡(jiǎn)樸的加減乘除就行了,但是仔細(xì)做過以后發(fā)現(xiàn)需要考慮很多情況。比如說輸入進(jìn)程到達(dá)時(shí)間的時(shí)候,要是亂序的該怎么辦?尚有到達(dá)時(shí)間和服務(wù)時(shí)間等等定義的都是整型變顯,但是帶權(quán)周轉(zhuǎn)時(shí)間確會(huì)得到小數(shù),此時(shí)就需要用到強(qiáng)制轉(zhuǎn)換。在做系統(tǒng)產(chǎn)生隨機(jī)數(shù)的時(shí)候也要考慮隨機(jī)數(shù)的范圍,如到達(dá)時(shí)間可認(rèn)為0,但是服務(wù)時(shí)間卻不能為0,否則帶權(quán)周轉(zhuǎn)時(shí)間的計(jì)算會(huì)犯錯(cuò)。七、參考資料《計(jì)算機(jī)操作系統(tǒng)》《計(jì)算機(jī)操作系統(tǒng)實(shí)驗(yàn)指導(dǎo)書》《C程序設(shè)計(jì)》《C語言程序設(shè)計(jì)—現(xiàn)代方法》八、實(shí)驗(yàn)代碼include<stdio,h>include<stdlib.h>inc1ude<time.h>defineN5//進(jìn)程個(gè)數(shù),可改變inirt[N];〃到達(dá)時(shí)間intst[N];〃服務(wù)時(shí)間intct[N];〃完畢時(shí)間intcyt[N];//周轉(zhuǎn)時(shí)間floatrct[N];〃帶權(quán)周轉(zhuǎn)時(shí)間floatav[2];intn,m,c=l,which;void1ine()//美化程序,使程序運(yùn)營時(shí)更加明朗美觀{°prinlf(---—————~——-----————--—--―—---\n");)voidstart()//表達(dá)FCFS算法開始{Mine();printf('rFCFS算法開始\n”);printf("DesignedbyZhangHong\n'*);line();voidend()〃表達(dá)FCFS算法結(jié)束Nine。;-Printf("FCFS算法結(jié)束,謝謝使用\n");line();)voidinput()|叩rintf("請(qǐng)輸入%d個(gè)進(jìn)程的到達(dá)時(shí)間二N):for(n=0;n<N;n++)oscanf("%d",&rt[n]);Printf("請(qǐng)輸入%d個(gè)進(jìn)程相應(yīng)的服務(wù)時(shí)間二N);for(n=0;n<N;n++)。scanf("%d",&stln]);)voidrandom(){srand((unsigned)time(NULL));ofor(n=0:n<N;n++)?rt[nj=rand()%l00;afor(m=0;mvn;m++)if(n!=0&&rt[n]==rt[m])000|rt[n]=rand()%100;m=0;

st[n]=rand()%98+l;。fbr(m=O;m<n;m++)?if(n!=0&&st[n]==st[ml)gst[n]=rand()%98+1;皿m=0;。}))voidordination()〃重新排序,應(yīng)對(duì)出現(xiàn)輸入的到達(dá)時(shí)間為亂序的情況(Anttemp;for(n=0;n<N;n++)ofor(m=0;m<N-n-1;m++)f(rt[m+1]<rt[m])0ggtemp=rt[m+1];grt[m+l]=rt[m];。rt[m]=temp;。?tcmp=st[m+1];st[m+l]=st[m];?st[m]=temp;。)voidfcfs()voidfcfs()voidfcfs()〃執(zhí)行fcfsvoidfcfs()〃執(zhí)行fcfs算法?av[l]=0;?ct[O]=rt[0]+st[01;for(n=1;n<N;n++){-if(ct[n-l]>=rt[n])//考慮當(dāng)前一個(gè)進(jìn)程完畢而后一個(gè)進(jìn)程還沒有到達(dá)的情況??ct[n]=ct[n-l]+st[n];elset[n]=rt[n]+st[n];afor(n=();n<N;n++)cyl[nl=ct[nl-rt[n];?for(n=0;n<N;n++)ret[n]=(float)cyt[n]/(fIoal)st[n];for(n=0;n<N;n++)0{??av[0]+=(f1oat)cyt[n]/N;?av[1]+=rct[n]/N;)voidoutput()〃輸出結(jié)果{line();printf("進(jìn)程名\t”);fbr(n=0;n<N;n++)printf(\t%c",65+n);?printf("\t平均'n到達(dá)時(shí)間");for(n=0;n<N;n++)叩rintf("\t%d",rt[nl);oprintf("\n服務(wù)時(shí)間”):for(n=0;n<N:n++)ooprintf("\t%d",st[n]);prinlf(”\n完畢時(shí)間)afor(n=0;nvN;n++)gprintf("\t%d",ct[nJ);print一"\11周轉(zhuǎn)時(shí)間”);?for(n=0;n<N;n++)-prinlf("\t%d",cylfn]);printf(u\t%0.1f",av[0J);primf(”\n帶權(quán)周轉(zhuǎn)時(shí)間)for(n=0;n<N;n++)叩%0.1f",rct[n]);printf("\t%0.1f",av[l]);printf("\n");Mine();1voidinain()(start();for(;c==l;)°{Mfor(;;)叩rinif(”輸入數(shù)據(jù)還是由系統(tǒng)隨機(jī)產(chǎn)生數(shù)據(jù)?\nl、輸入數(shù)據(jù)M2、系統(tǒng)隨機(jī)產(chǎn)生數(shù)據(jù)\n請(qǐng)輸入:");w>scanf("%d",&which);gif(which==1)g{°°input();gbreak;?elsegif

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論