處理機調度——調度算法
完成例題的三個算法的分析,注意書寫的時候,先寫算法的全稱,然后是分析的過程,計算的結果。
1、假設在單道批處理環境下有四個作業,已知它們進入系統的時間、估計運行時間:
應用先來先服務、最短作業優先和最高響應比優先作業調度算法,分別計算出作業的平均周轉時間和帶權的平均周轉時間。
答:(1)調度算法:先來先服務
分析過程:觀察四個作業進入的時間,最早是JOB1,根據先來先服務調度算法規則:每個作業或進程都按照它們在隊列中等待的時間長短來決定它們是否優先享受服務。可知,JOB1作業先執行,開始時間是8:00,結束時間為10:00,周轉時間(=結束時間-進入時間)為120分鍾,帶權周轉時間為(=周轉時間/估計運行時間)120/120=1。
接着觀察剩下的作業中進入時間最早的是JOB2,則JOB2開始時間為10:00,估計運行時間為50分鍾,則結束時間為10:50,周轉時間為120分鍾,帶權周轉時間為120/50=2.4。
緊接着剩下的作業中最早進入時間是JOB3,則JOB3開始時間為10:50,估計運行時間為10分鍾,則結束時間為11:00;周轉時間為11:00-9:00,=120分鍾。帶權周轉時間為12
最后是剩下JOB4,開始時間為11:00,估計運行時間20分鍾,則結束時間為11:20,周轉時間為90分鍾,帶權周轉時間為90/20=4.5
綜上所述,作業平均周轉時間為T=112.5分鍾,作業平均帶權周轉時間為W=4.975
(2)調度算法:最短作業優先
分析過程:觀察四個作業進入的時間,最早是JOB1,先進行JOB1的運行,開始時間是8:00,結束時間為10:00,周轉時間(=結束時間-進入時間)為120分鍾,帶權周轉時間為(=周轉時間/估計運行時間)120/120=1。
緊接着在10:00時刻,JOB2,JOB3,JOB4都進入了等待中,根據最短作業優先調度算法規則:選擇那些估計需要時間最短的作業投入運行,為他們創建進行和分配資源。
通過觀察可以知道JOB3估計運行時間最短,則運行JOB3,開始時間為10:00,結束時間為10:10,周轉時間為10:10-9:00,為70分鍾,帶權周轉時間為7
接着是JOB4的估計運行時間最短,開始時間為10:10,結束時間為10:30,周轉時間為40分鍾,帶權周轉時間為2。
最后剩下是執行JOB2,開始時間為10:30,結束時間為11:20,周轉時間為150分鍾,帶權周轉時間為3.
綜上所述,作業平均周轉時間為T=95,作業帶權平均周轉時間為W=3.25
(3)調度算法:最高響應比算法
分析過程觀察四個作業,根據最高響應比算法規則:HRN調度策略同時考慮每個作業的等待時間長短和估計需要的執行時間長短,從中選出響應比最高的作業投入執行。響應比計算:=(作業在后備狀態隊列中等待時間+估計運行需要的時間)/估計運行需要的時間。、
JOB1先進入,先執行,開始時間為8:00,結束時間為10:00,周轉時間為120分鍾,帶權周轉時間為1.
接着剩下JOB2,JOB3,JOB4,根據最高響應比調度算法的規則,計算10:00此刻,剩下作業的響應比。JOB2=(10:00-8:50=70 + 50)/50,JOB3=(60+10)/10,JOB4=(10+20)/20,可知此時JOB3的響應比最高,先執行,開始時間為10:00,結束時間為10:10,周轉時間為70分鍾,帶權周轉時間為4.5
接着剩下JOB2,JOB4,根據最高響應比調度算法的規則,計算10:10此刻,剩下作業的響應比。JOB2=(80+50)/50,JOB4=(20+20)/20,可知此時JOB2的響應比最高,先執行,開始時間為10:10,結束時間為11:00,周轉時間為130分鍾,帶權周轉時間為2.6.
最后執行JOB4,開始時間為11:00,結束時間為11:20,周轉時間為90分鍾,帶權周轉時間為4.5.
綜上所述,作業平均周轉時間為T=102.5,作業帶權平均周轉時間為W=3.775