處理器調度算法


1. P117頁,練習15:最高響應比

2. P119頁,練習22(2):時間片輪轉

 

 

 

3. 現設定采用三級反饋隊列調度算法,三個隊列分別為0、1和2,對應時間片為2、4、8。現有四個進程A、B、C、D,到達時刻分別為0、5、7、12,執行時間分別為7、4、13、2。請寫出整個進程調度過程,包括每個時間段,執行的進程,執行后進程狀態,各個隊列內進程的變化。

 

 

 

4. 從以下幾個方面比較各個調度算法的優缺點:

1.資源利用率

2.吞吐率

3.周轉率

4.響應時間

5.公平性

6.適用范圍

 

(1)先來先服務算法:這是一個非剝奪式調度算法。此算法的資源利用率和吞吐率較低,周轉率較慢,響應時間要視前面的作業所需時間而定,是一個公平的算法,適用於長作業進程。優缺點:有利於長作業進程,而不利於短作業進程這是因為若一個長作業先到達系統,就會使許多短作業等待很長的時間,從而引起許多短作業用戶的不滿。有利於CPU繁忙型作業,不利於I/O,忙的作業。

(2)最短作業優先算法:這是一個非剝奪式調度算法。此算法的資源利用率不高,吞吐率和周轉率比FCFS高些,響應時間較快,但是並不是很公平,適用於短作業進程。優缺點:降低作業的平均等待時間,提高系統吞吐量。對長作業不利;未考慮作業的緊迫程度;對進程估計執行時間難以預測。缺點是:1.要預先知道作業所需的CPU運行時間,很難精確估算。2.忽視作業等待時間,由於系統不斷接收新作業,作業調度程序總是選擇計算時間短的作業投入運行,因此進入系統時間早但計算時間長的作業的等待時間會過長,出現飢餓現象。3.盡管能克服對長作業的偏愛,但由於缺少剝奪機制,對於分時、實時處理仍不理想。

(3)最短剩余時間優先算法:這是一個剝奪式調度算法。此算法的資源利用率和吞吐率較高,周轉率較快,響應時間較短,也是一個不是很公平的算法,適用於剩余時間短的進程。優缺點:能夠克服FCFS算法偏愛長作業的缺點,實現起來比較復雜,要時時觀察每個作業的剩余時間,但是此算法的平均等待時間和平均周轉時間都比FCFS和SJF的好。

(4)最高響應比優先算法:這是一個折中的非剝奪式算法,即考慮作業等待時間,又考慮作業處理時間,這樣既照顧短作業又不會使長作業的等待時間過長,有效地改善調度性能。優缺點:每次計算各道作業的響應比會導致一定的時間開銷,其性能比SJF算法略差。顯然,此算法更利於短作業,但是如果長作業在系統的等待時間足夠長,使得分子夠大,則HRRF算法響應比變大,即其優先級得到提升,從而可被選中執行,不至於長時間等待,因此不會出現飢餓現象。

(5)優先級調度算法:這是一個系統可預先規定策略為非剝奪式或者剝奪式的算法。進程/線程優先級的確定可采用靜態和動態兩種方式。靜態優先權在創建進程時確定,且在進程的整個運行期間保持不變。一般地,優先權是利用某一范圍內的一個整數來表示的,例如,0∼7或0∼255, 又把該整數稱為優先數 。優缺點:靜態優先級算法的實現簡單,但會出現飢餓現象,使得某些低優先級進程/線程會無限期地被推遲。動態優先權在創建進程時賦予的優先權是隨進程的推進或隨其等待時間的增加而改變,以獲得更好的調度性能。可規定,在就緒隊列中的進程,隨其等待時間的增長,其優先權以速率a提高 。優缺點:等待時間足夠久的進程/線程會因其優先級不斷提高而被調度運行,克服了靜態優先級的飢餓問題。

(6)輪轉調度算法:這是一個剝奪式調度算法,系統耗費在進程/線程切換上的開銷比較大,這個開銷和時間片的大小有關。此算法的資源利用率和吞吐率較高,周轉率較快,響應時間較短,是一個較公平的算法。優缺點:緊迫任務響應慢。 時間片選取要從多方面的因素進行考慮。 太小,會頻繁發生中斷、進程上下文切換,增加系統開銷,但利於短作業 ;太大,退化成FCFS ,所以時間片應該略大於一次典型交互的時間。

 


免責聲明!

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



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