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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

輸入藪建還是由索籟嚅疆數(shù)據(jù)薊入:1露入5個進程的到達時間:01234端入5個進住對應的服務時間:572可可晌間同同間轉名周程達1曩進招完,可可晌間同同間轉名周程達1曩進招完,繼續(xù)輸入1,退出輸入。。請輸入:0FCFS算法結束,謝謝使用n:\DocunentsandSettings\/idninistratorXMyDocunents\C>六、實驗體會或對改善實驗的建議在做這個實驗的時候,一開始認為很簡樸,只要做簡樸的加減乘除就行了,但是仔細做過以后發(fā)現(xiàn)需要考慮很多情況。比如說輸入進程到達時間的時候,要是亂序的該怎么辦?尚有到達時間和服務時間等等定義的都是整型變顯,但是帶權周轉時間確會得到小數(shù),此時就需要用到強制轉換。在做系統(tǒng)產(chǎn)生隨機數(shù)的時候也要考慮隨機數(shù)的范圍,如到達時間可認為0,但是服務時間卻不能為0,否則帶權周轉時間的計算會犯錯。七、參考資料《計算機操作系統(tǒng)》《計算機操作系統(tǒng)實驗指導書》《C程序設計》《C語言程序設計—現(xiàn)代方法》八、實驗代碼include<stdio,h>include<stdlib.h>inc1ude<time.h>defineN5//進程個數(shù),可改變inirt[N];〃到達時間intst[N];〃服務時間intct[N];〃完畢時間intcyt[N];//周轉時間floatrct[N];〃帶權周轉時間floatav[2];intn,m,c=l,which;void1ine()//美化程序,使程序運營時更加明朗美觀{°prinlf(---—————~——-----————--—--―—---\n");)voidstart()//表達FCFS算法開始{Mine();printf('rFCFS算法開始\n”);printf("DesignedbyZhangHong\n'*);line();voidend()〃表達FCFS算法結束Nine。;-Printf("FCFS算法結束,謝謝使用\n");line();)voidinput()|叩rintf("請輸入%d個進程的到達時間二N):for(n=0;n<N;n++)oscanf("%d",&rt[n]);Printf("請輸入%d個進程相應的服務時間二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()〃重新排序,應對出現(xiàn)輸入的到達時間為亂序的情況(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])//考慮當前一個進程完畢而后一個進程還沒有到達的情況??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()〃輸出結果{line();printf("進程名\t”);fbr(n=0;n<N;n++)printf(\t%c",65+n);?printf("\t平均'n到達時間");for(n=0;n<N;n++)叩rintf("\t%d",rt[nl);oprintf("\n服務時間”):for(n=0;n<N:n++)ooprintf("\t%d",st[n]);prinlf(”\n完畢時間)afor(n=0;nvN;n++)gprintf("\t%d",ct[nJ);print一"\11周轉時間”);?for(n=0;n<N;n++)-prinlf("\t%d",cylfn]);printf(u\t%0.1f",av[0J);primf(”\n帶權周轉時間)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)隨機產(chǎn)生數(shù)據(jù)?\nl、輸入數(shù)據(jù)M2、系統(tǒng)隨機產(chǎn)生數(shù)據(jù)\n請輸入:");w>scanf("%d",&which);gif(which==1)g{°°input();gbreak;?elsegif

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論