響應比最高者優(yōu)先算法.doc

響應比最高者優(yōu)先算法.doc

ID:53787158

大?。?41.00 KB

頁數:9頁

時間:2020-04-07

響應比最高者優(yōu)先算法.doc_第1頁
響應比最高者優(yōu)先算法.doc_第2頁
響應比最高者優(yōu)先算法.doc_第3頁
響應比最高者優(yōu)先算法.doc_第4頁
響應比最高者優(yōu)先算法.doc_第5頁
資源描述:

《響應比最高者優(yōu)先算法.doc》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。

1、.實驗題目:響應比最高者優(yōu)先算法一、實驗目的熟悉操作系統(tǒng)作業(yè)管理步驟,用C語言編程模擬實現響應比最高者優(yōu)先算法。二、實驗環(huán)境及儀器設備硬件環(huán)境:IBM-PC或兼容機軟件環(huán)境:C語言編程環(huán)境三、實驗算法思想最高響應比優(yōu)先法(HRN,HighestResponse_ratioNext)是對FCFS方式和SJF方式的一種綜合平衡。FCFS方式只考慮每個作業(yè)的等待時間而未考慮執(zhí)行時間的長短,而SJF方式只考慮執(zhí)行時間而未考慮等待時間的長短。因此,這兩種調度算法在某些極端情況下會帶來某些不便。HRN調度策略同時考慮每個作業(yè)的等待時間長短和估計需要的執(zhí)行時間長短,從中選出響應比最

2、高的作業(yè)投入執(zhí)行。響應比R定義如下:R=(W+T)/T=1+W/T其中T為該作業(yè)估計需要的執(zhí)行時間,W為作業(yè)在后備狀態(tài)隊列中的等待時間。每當要進行作業(yè)調度時,系統(tǒng)計算每個作業(yè)的響應比,選擇其中R最大者投入執(zhí)行。這樣,即使是長作業(yè),隨著它等待時間的增加,W/T也就隨著增加,也就有機會獲得調度執(zhí)行。這種算法是介于FCFS和SJF之間的一種折中算法。由于長作業(yè)也有機會投入運行,在同一時間內處理的作業(yè)數顯然要少于SJF法,從而采用HRN方式時其吞吐量將小于采用SJF法時的吞吐量。另外,由于每次調度前要計算響應比,系統(tǒng)開銷也要相應增加(1)等待時間相等時。則服務時間越短,優(yōu)先級

3、越高,符合SJF思想。(2)服務時間相等時,則等待時間越長,優(yōu)先級越高,符合FCFS思想。(3)對于長作業(yè),只要其等待時間足夠長,也能獲得處理機。四、實驗步驟實驗中,作業(yè)控制塊及隊列的數據結構定義如下:structtask{stringname;/*作業(yè)號*/intarrTime;/*作業(yè)到達時間*/intserTime;/*作業(yè)要求服務時間*/intwaiTime;/*等待時間*/intbegTime;/*開始運行時間*/intfinTime;/*結束運行時間*/intturTime;/*周轉時間*/..intwTuTime;/*帶權周轉時間*/intpriorit

4、y;/*優(yōu)先權*/intfinish;/*是否已經完成*/}JCB[10];存放作業(yè)控制塊的區(qū)域:#definen10JCBjobtable[10];intjobcount;將作業(yè)控制塊組織成一個隊列,實驗中采用靜態(tài)鏈表的方式模擬作業(yè)的后備隊列,作業(yè)隊列頭指針定義為:int*head;實驗中,內存采用可移動的動態(tài)分區(qū)管理方法,即只要內存空閑區(qū)總和作業(yè)大就可以滿足作業(yè)對內存的需求;對打印機和磁帶機這兩種獨占設備采用靜態(tài)分配法,即作業(yè)執(zhí)行前必須獲得所需資源,并且執(zhí)行完才歸還。采用響應比高者優(yōu)先調度算法進行調度時,必須計算出系統(tǒng)中所有滿足必要條件作業(yè)的響應比,從中選擇響應比

5、最高的一個作業(yè)裝入主存儲器分配資源。由于是實驗,所以就將作業(yè)控制塊出隊,并輸出作業(yè)名代替裝入處存儲器,同時修改系統(tǒng)的資源數量。....一、實驗清單#include#include#include#include#include#includetypedefcharstring[10];/*//定義string為含有10個字符元素的字符數組類型*/structtask{stringname;/*作業(yè)號*/intarrTime;/*作業(yè)到達時間*/intserTime

6、;/*作業(yè)要求服務時間*/intwaiTime;/*等待時間*/intbegTime;/*開始運行時間*/intfinTime;/*結束運行時間*/intturTime;/*周轉時間*/intwTuTime;/*帶權周轉時間*/intpriority;/*優(yōu)先權*/intfinish;/*是否已經完成*/}JCB[10];intnum;voidinput(){inti;system("cls");printf("請輸入作業(yè)數量:");scanf("%d",&num);for(i=0;i

7、intf("作業(yè)名稱:");scanf("%s",JCB[i].name);printf("到達時間:");scanf("%d",&JCB[i].arrTime);printf("服務時間:");scanf("%d",&JCB[i].serTime);JCB[i].priority=0;JCB[i].finish=0;}}..intHRN(intpre){intcurrent=1,i,j;/*優(yōu)先權=(等待時間+服務時間)/服務時間*/for(i=0;i

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯系客服處理。