操作系統——處理機調度——調度算法(先來先服務算法、最短作業優先算法、最高響應比優先 例題)


處理機調度——調度算法

 

完成例題的三個算法的分析,注意書寫的時候,先寫算法的全稱,然后是分析的過程,計算的結果。

 

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;周轉時間為1100-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時刻,JOB2JOB3JOB4都進入了等待中,根據最短作業優先調度算法規則:選擇那些估計需要時間最短的作業投入運行,為他們創建進行和分配資源。

通過觀察可以知道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,結束時間為1000,周轉時間為120分鍾,帶權周轉時間為1.

接着剩下JOB2JOB3JOB4,根據最高響應比調度算法的規則,計算10:00此刻,剩下作業的響應比。JOB2=1000-8:50=70 + 50/50JOB3=60+10/10JOB4=10+20/20,可知此時JOB3的響應比最高,先執行,開始時間為10:00,結束時間為10:10,周轉時間為70分鍾,帶權周轉時間為4.5

接着剩下JOB2JOB4,根據最高響應比調度算法的規則,計算1010此刻,剩下作業的響應比。JOB2=80+50/50JOB4=20+20/20,可知此時JOB2的響應比最高,先執行,開始時間為1010,結束時間為11:00,周轉時間為130分鍾,帶權周轉時間為2.6.

最后執行JOB4,開始時間為11:00,結束時間為11:20,周轉時間為90分鍾,帶權周轉時間為4.5.

綜上所述,作業平均周轉時間為T=102.5,作業帶權平均周轉時間為W=3.775

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM