級法、最高響應比優先調度算法報告_第1頁
級法、最高響應比優先調度算法報告_第2頁
級法、最高響應比優先調度算法報告_第3頁
級法、最高響應比優先調度算法報告_第4頁
級法、最高響應比優先調度算法報告_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持.學號:00609課程設計題目進程調度模擬設計優先級法、最高響應比優先調度算法學院計算機科學與技術專業計算機科學與技術班級計算機 0606姓名肖文俊指導教師孫玉芬2009年1 月9 日課程設計任務書學生姓名:肖文俊專業班級:計算機 0606指導教師:孫玉芬工作單位:計算機科學與技術學院題目:進程調度模擬設計優先級法、最高響應比優先調度算法初始條件:1預備內容:閱讀操作系統的處理機管理章節內容,對進程調度的功能以及進程調度算法有深入的理解。2實踐準備:掌握一種計算機高級語言的使用。要求完成的主要任務 : (包括課程設計工作量及其技

2、術要求,以及說明書撰寫等具體要求)1模擬進程調度,能夠處理以下的情形: 能夠選擇不同的調度算法(要求中給出的調度算法); 能夠輸入進程的基本信息,如進程名、優先級、到達時間和運行時間等; 根據選擇的調度算法顯示進程調度隊列; 根據選擇的調度算法計算平均周轉時間和平均帶權周轉時間。2設計報告內容應說明: 需求分析; 功能設計(數據結構及模塊說明);1文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持.文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持. 開發平臺及源程序的主要部分; 測試用例,運行結果與運行情況分析; 自我評價與總結:i)你認為你完成的設計哪些地方

3、做得比較好或比較出色;ii)什么地方做得不太好,以后如何改正;iii )從本設計得到的收獲(在編寫,調試,執行過程中的經驗和教訓);iv)完成本題是否有其他方法(如果有,簡要說明該方法);v)對實驗題的評價和改進意見,請你推薦設計題目。時間安排:設計安排一周:周1、周 2:完成程序分析及設計。周 2、周 3:完成程序調試及測試。周 4、周 5:驗收、撰寫課程設計報告。(注意事項:嚴禁抄襲,一旦發現,一律按0 分記)指導教師簽名:年月日系主任(或責任教師)簽名:年月日目錄1設計題目 12需求分析 12.1功能需求 12.2環境需求 22.3用戶界面需求 23功能設計 31.1數據結構 31.2模

4、塊說明 34開發平臺及源程序的主要部分 44.1開發平臺 44.2源程序主要部分 42文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持.文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持.5 測試用例,運行結果與運行情況分析 85.1 測試用例85.2 運行結果85.3 運行情況分析116 自我評價與總結113文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持.文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持.設計題目優先級法、最高響應比優先調度算法需求分析2.1 功能需求實現優先級法:優先級法可被用作作業或進程的調度策略。首

5、先,系統或用戶按某種原則為作業或進程指定一個優先級來表示該作業或進程所享有的調度優先權。該算法的核心是確定進程或作業的優先級。確定優先級的方法可分為靜態法和動態法。靜態法根據作業或進程的靜態特性,在作業或進程開始執行之前就確定它們的優先級,一旦開始執行之后就不能改變。動態法則不然,它把作業或進程的靜態特性和動態特性結合起來確定作業或進程的優先級,隨著作業或進程的執行過程,其優先級不斷變化。靜態優先級作業調度中的靜態優先級大多按以下原則確定:由用戶自己根據作業的緊急程度輸入一個適當的優先級。為防止各用戶都將自己的作業冠以高優先級,系統應對高優先級用戶收取較高的費用。由系統或操作員根據作業類型指定

6、優先級。 作業類型一般由用戶約定或由操作員指定。 例如:可將作業分為: O繁忙的作業,CPU繁忙的作業, O與 CPU均衡的作業,一般作業,等等。系統或操作員可以給每類作業指定不同的優先級。系統根據作業要求資源情況確定優先級。 例如根據估計所需處理機時間、內存量大小、 I O設備類型及數量等,確定作業的優先級。- 1 - 文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持.文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持.進程的靜態優先級確定原則可以是:按進程的類型給予不同的優先級。 例如,在有些系統中,進程被劃分為系統進程和用戶進程。 系統進程享有比用戶進程

7、高的優先級。對于用戶進程來說,則可以分為:O繁忙的進程,CPU繁忙的進程,O與 CPU均衡的進程,其他進程。對系統進程,也可以根據其所要完成的功能劃分為不同的類型,例如,調度進程、 I O進程、中斷處理進程、存儲管理進程等。這些進程還可進一步劃分為不同類型和賦予不同的優先級。例如,在操作系統中,對于鍵盤中斷的處理優先級和對于電源掉電中斷的處理優先級是不相同的。將作業的靜態優先級作為它所屬進程的優先級。實現最高響應比優先調度算法:最高響應比優先法( HRN)是對 FCFS方式和 SJF 方式的一種綜合平衡。 HRN調度策略同時考慮每個作業的等待時間長短和估計需要的執行時間長短,從中選出響應比最高

8、的作業投入執行。響應比 R 定義如下:R=(W+T)/T=1+W/T其中 T 為該作業估計需要的執行時間, W為作業在后備狀態隊列中的等待時間。每當要進行作業調度時,系統計算每個作業的響應比,選擇其中 R最大者投入執行。這樣,即使是長作業,隨著它等待時間的增加, W/T也就隨著增加,也就有機會獲得調度執行。這種算法是介于FCFS和 SJF 之間的一種折中算法。由于長作業也有機會投入運行,在同一時間內處理的作業數顯然要少于SJF 法,從而采用 HRN方式時其吞吐量將小于采用SJF 法時的吞吐量。另外,由于每次調度前要計算響應比,系統開銷也要相應增加。- 2 - 文檔來源為 :從網絡收集整理.wo

9、rd 版本可編輯 .歡迎下載支持.文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持.2.2環境需求開發環境、運行環境及開發語言:開發環境: Windows平臺 Visual C+ 6.0運行環境: Windows全系列平臺開發語言: C+2.3用戶界面需求輸入輸出均采用命令行界面。格式如下:首先 輸入進程數。其次 輸入進程編號,姓名,到達時間,執行時間等相關信息。然后 選擇算法,優先法或者是最高響應比算法。最后,輸出程序運行所得結果。功能設計:3.1數據結構:創建一個進程信心類:class Processpublic:Process();void modify(); /進程信

10、息輸入void print(); /進程信息輸出friend void output();friend int PRI();friend int hrn();private:char name10; /進程名稱int number; /進程編號int pri; /優先級double comet; /到達時間- 3 - 文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持.文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持.double runbt; /開始運行時間double runt; /運行時間double runet; /運行結束時間double trt;

11、/周轉時間double wtrt; /帶權周轉時間double respond_rate;int order; /運行次序int run_flag; /運行狀態;/Process Process MAX,Processcopy MAX;void copy()/復制函數int i;for(i=0;icounter;i+)Processcopyi=Processi;說明:防止修改了原信息中的的內容設置進程的優先級算法和最高響應比算法:int PRI()/優先級函數int j=0,i;int d=0;int temp=Pet;Processj.runbt=Pet;Processj.runet=Pet

12、+Processj.runt;Processj.run_flag=1;Processj.order=d+1;d+;temp=Processj.runet;- 4 - 文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持.文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持.說明:這是部分代碼,設置各進程的優先級來調用;int hrn()/最高響應比函數說明:最高響應比是調度策略同時考慮每個作業的等待時間的長短和估計需要執行時間的長短,從中選出響應比最高的作業投入執行。開發平臺及源程序的主要部分:4.1開發平臺:開發環境、運行環境及開發語言:開發環境: Windows

13、平臺 Visual C+ 6.04.2源程序主要部分:int PRI()/優先級算法int j=0,i;int d=0;int temp=Pet;Processj.runbt=Pet;Processj.runet=Pet+Processj.runt;Processj.run_flag=1;Processj.order=d+1;d+;temp=Processj.runet;int pritemp=100;int z=0;for(i=1;icounter;i+)for(int a=0;acounter;a+)if(Processa.run_flag=0)if(Processa.pripritemp

14、)- 5 - 文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持.文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持.pritemp=Processa.pri;z=a;Processz.runbt=temp;Processz.runet=Processz.runbt+Processz.runt;temp=Processz.runet;Processz.run_flag=1;pritemp=100;Processz.order=d+1;d+;return 0;int hrn()/最高響應比優先調度算法int i,j,p;int current_counter=0;

15、double current_time=Pet;for(i=0;icounter;i+)double max_respond_rate=-1;for(j=0;jcounter;j+)if(Processj.run_flag=0)Processj.respond_rate=(current_time-Pet)/Processj .runt;- 6 - 文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持.文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持.for(j=0;jmax_respond _rate)p=j;max_respond_rate=Processj

16、.respond_rate;if(Pet=current_time)Processp.runbt=current_time;elseProcessp.runbt=Pet;Processp.runet=Processp.runbt+Processp.runt;Processp.run_flag=1;current_counter=current_counter+1;Processp.order=current_counter;current_time=Processp.runet;return 0;測試用例,運行結果與運行情況分析:5.1測試用例:測試用例 1:進程個數: 3,- 7 - 文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持.文檔來源為 :從網絡收集整理.word 版本可編輯 .歡迎下載支持.內容:111112 1.2 1.5 331.822測試用例 2:進程個數: 3內容:111113321.52運行結果測試用例 1:優先級法結果如下:最高響應比算法結果如下:測試用例 2:優先級法結果如下:最高響應比算法結果如下:運行情況分析:組測試數據完全符合通過手工計算出來的結果自我評價與總結:本次課程設計題目較為簡單,主要是對優先級和最高響應比這兩個算法的理解和對進程調度的功能以及進程調度算法有深入的理解。在這次的課程設計中,讓我感覺較為不滿意的地方

溫馨提示

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

最新文檔

評論

0/150

提交評論