⑴ 作業調度演算法的多級反饋隊列列演算法
多級反饋隊列演算法(Round Robin with Multiple Feedback)是輪轉演算法和優先順序演算法的綜合和發展。 設置多個就緒隊列,分別賦予不同的優先順序,如逐級降低,隊列1的優先順序最高。每個隊列執行時間片的長度也不同,規定優先順序越低則時間片越長,如逐級加倍。
新進程進入內存後,先投入隊列1的末尾,按FCFS演算法調度;若按隊列1一個時間片未能執行完,則降低投入到隊列2的末尾,同樣按FCFS演算法調度;如此下去,降低到最後的隊列,則按「時間片輪轉」演算法調度直到完成。
僅當較高優先順序的隊列為空,才調度較低優先順序的隊列中的進程執行。如果進程執行時有新進程進入較高優先順序的隊列,則搶先執行新進程,並把被搶先的進程投入原隊列的末尾。 為提高系統吞吐量和縮短平均周轉時間而照顧短進程。
為獲得較好的I/O設備利用率和縮短響應時間而照顧I/O型進程。
不必估計進程的執行時間,動態調節 I/O型進程:讓其進入最高優先順序隊列,以及時響應I/O交互。通常執行一個小時間片,要求可處理完一次I/O請求的數據,然後轉入到阻塞隊列。
計算型進程:每次都執行完時間片,進入更低級隊列。最終採用最大時間片來執行,減少調度次數。
I/O次數不多,而主要是CPU處理的進程。在I/O完成後,放回優先I/O請求時離開的隊列,以免每次都回到最高優先順序隊列後再逐次下降。
為適應一個進程在不同時間段的運行特點,I/O完成時,提高優先順序;時間片用完時,降低優先順序。