(完整word版)進程調度算法的實現實驗報告_第1頁
(完整word版)進程調度算法的實現實驗報告_第2頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、南昌大學實驗報告-(4)進程調度算法的實現學生姓名: _學 號: _ 專業班級:實驗類型:口 驗證 綜合 設計 口創新 實驗日期: _ 實驗成績:一、實驗目的通過實驗加強對進程調度算法的理解和掌握。二、實驗內容編寫程序實現進程調度算法,具體可以編寫程序實現先來先服務算法或優先度高者調度 算法。三、實驗要求1、需寫出設計說明;2、設計實現代碼及說明;3、運行結果;四、主要實驗步驟1、 分析實驗內容,畫出算法流程圖;2、 根據流程圖寫出實驗代碼;3、 編譯代碼,驗證結果正確與否;4、 對程序進行修改,得到最后結果。流程圖如下:c開始五、實驗數據及處理結果:XDcicuiRents and Sett

2、ingrssAdmiinistratorMy DocumentsXCfcfsFCFE算法開始-Designed by Zhancf Honggf由系落羸啓2崔續輸入1,退岀輸入肌 請輸入:0vv-V-V-n-V1FCFSM 法結束謝謝使用aia一ia - biifi- - - - - - - - - - - i_-ia- - -,I:MJocunents and Set t ings fidmin is tratorMly Documents SC六、實驗體會或對改進實驗的建議在做這個實驗的時候, 一開始以為很簡單, 只要做簡單的加減乘除就行了, 但是仔細做 過以后發現需要考慮很多情況。比如說

3、輸入進程到達時間的時候,要是亂序的該怎么辦?還有到達時間和服務時間等等定義的都是整型變量,但是帶權周轉時間確會得到小數,此時就需要用到強制轉換。在做系統產生隨機數的時候也要考慮隨機數的范圍,如到達時間可以為0,但是服務時間卻不能為 0,否則帶權周轉時間的計算會出錯。七、參考資料計算機操作系統計算機操作系統實驗指導書C 程序設計C 語言程序設計現代方法八、實驗代碼#in elude #in elude fl4 4- -4 443434 48 87B7B:據A-數-1-1- ?-?- 嚴W4 42 23 3 7 72 2 5 51 1 1 10 0間2121間務達的到應的對IM#謀龔嘆入入續入輪N

4、nvNnv間時可司可可時名周程達竄養逬#in elude #defi ne N 5進程個數,可改變in t rtN;/到達時間int stN;/服務時間int ctN;II完成時間int cytN; II 周轉時間 float rctN; II 帶權周轉時間 float av2;int n,m,c=1,which;void lin e()II 美化程序,使程序運行時更加明朗美觀printf(”- n);void start() II 表示 FCFS 算法開始lin e();printf(FCFS 算法開始 n);printf(”-Desig ned by Zhang Hongn);lin e(

5、);void end()表示 FCFS 算法結束lin e();printf(FCFS 算法結束,謝謝使用n);lin e();void in put()printf(請輸入%d 個進程的到達時間:,N);for (n=0;nN;n+)scan f(%d,&rtn);printf(請輸入%d 個進程對應的服務時間:,N);for (n=0;nN;n+)scan f(%d, &st n);void ran dom()sran d( un sig ned)time(NULL);for (n=0;nN;n+)rt n=ra nd()%100;for (m=0;m n; m+)if (

6、n !=0 & rt n=rtm)rt n=ran d()%100;m=0;st n=ran d()%98+1;for (m=0;m n; m+)if (n !=0 & st n=stm)stn =ra nd()%98+1;m=0;void ordi natio n()重新排序,應對出現輸入的到達時間為亂序的情況int temp;for (n=0;nN;n+)for (m=0;mN-n-1;m+)if (rtm+1rtm)temp=rtm+1;rtm+1=rtm;rtm=temp;temp=stm+1;stm+1=stm;stm=temp;void fcfs() /執行 fcf

7、s 算法av0=0;av1=0;ctO=rtO+stO;for (n=1; n=rtn)/考慮當前一個進程完成而后一個進程還沒有到達的情況ct n=ct n-1+st n;elsect n=rt n+st n;for (n=0;nN;n+)cyt n=ct n-rtn;for (n=0;nN;n+)rct n=(float)cyt n /(float)st n;for (n=0;nN;n+)av0+=(float)cyt n /N;av1+=rct n/N;void output()/ 輸出結果lin e();printf(進程名 t);for (n=0;nN;n+)prin tf(t%c,6

8、5+n);printf(t 平均n 到達時間);for (n=0;nN;n+)prin tf(t%d,rt n);printf(n 服務時間);for (n=0;nN;n+)prin tf(t%d,st n);printf(n 完成時間);for (n=0;nN;n+)prin tf(t%d,ct n);printf(n 周轉時間);for (n=0;nN;n+)prin tf(t%d,cyt n);prin tf(t%0.1f,av0);printf(n 帶權周轉時間);for (n=0;nN;n+)prin tf(t%O.1f,rct n);prin tf(t%0.1f,av1);prin tf(n);lin e();void mai n()start();for (;c=1;)for (;)printf(輸入數據還是由系統隨機產生數據?n1、輸入數據t2、系統隨機產生數據n 請輸入:);scan f(%d,&which);if (which=1)in put();break; elseif (whi

溫馨提示

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

評論

0/150

提交評論