程序排程演算法

2021-09-14 06:51:06 字數 1169 閱讀 1129

批處理系統:先來先服務(fifo),最短作業優先

分時系統:時間片輪轉法,(動態)優先順序排程,多級(反饋)佇列

(1)高響應比優先(highest response ratio first,hrrf)排程演算法

hrrf排程演算法是介於先來先服務演算法與最短程序優先演算法之間的一種折中演算法。先來先服務演算法只考慮程序的等待時間而忽視了程序的執行時間,而最短程序優先排程演算法只考慮使用者估計的程序的執行時間而忽視了就緒程序的等待時間。hrrf排程演算法二者兼顧,既考慮程序等待時間,又考慮程序的執行時間,為此定義了響應比(rp)這個指標:

上個表示式假設等待時間與預計執行時間之和等於響應時間。hrrf排程演算法將選擇rp最大值的程序執行,這樣既照顧了短程序又不使長程序的等待時間過長,改進了排程效能。但hrrf排程演算法需要每次計算各各個程序的響應比rp,這會帶來較大的時間開銷(特別是在就緒程序個數多的情況下)。

(2)多級反饋佇列(multi-level feedback queue)排程演算法

在採用多級反饋佇列排程演算法的執行邏輯流程如下:

從mlfq排程演算法可以看出長程序無法長期占用處理機,且系統的響應時間會縮短,吞吐量也不錯(前提是沒有頻繁的短程序)。所以mlfq排程演算法是一種合適不同型別應用特徵的綜合程序排程演算法。

(3)多級佇列

該演算法將系統中的程序就緒佇列從乙個拆分為若干個,將不同型別或性質的程序固定分配在不同的就緒佇列,不同的就緒佇列採用不同的排程演算法,乙個就緒佇列中的程序可以設定不同的優先順序,不同的就緒佇列本身也可以設定不同的優先順序。

多級佇列排程演算法由於設定多個就緒佇列,因此對每個就緒佇列就可以實施不同的排程演算法,因此,系統針對不同使用者程序的需求,很容易提供多種排程策略。

(4)動態優先順序排程演算法

動態優先順序排程演算法是指在建立程序之初,先賦予其乙個優先順序,然後其值隨著程序的推進或等待時間的增加而改變,以便獲得更好的排程效能。例如,可以規定在就緒佇列中的程序隨其等待的時間的增長,使其優先順序相應提高。若所有的程序都具有相同的優先順序初值,則最先進入就緒佇列的程序會因為其優先順序變得最高,而優先獲得處理機,這相當於fcfs演算法。

程序排程演算法(程序排程策略)

程序排程演算法 排程演算法是指 根據系統的資源分配策略所規定的資源分配演算法。一 先來先服務和短作業 程序 優先排程演算法 1.先來先服務排程演算法。先來先服務 fcfs 排程演算法是一種最簡單的排程演算法,該演算法既可用於作業排程,也可用於程序排程。fcfs演算法比較有利於長作業 程序 而不利於短...

程序排程演算法

排程演算法是指 根據系統的資源分配策略所規定的資源分配演算法。一 先來先服務和短作業 程序 優先排程演算法 1.先來先服務排程演算法。先來先服務 fcfs 排程演算法是一種最簡單的排程演算法,該演算法既可用於作業排程,也可用於程序排程。fcfs演算法比較有利於長作業 程序 而不利於短作業 程序 由此...

程序排程演算法

先來先服務 first come first service,fcfs 排程演算法按照程序進入就緒佇列的先後順序選擇可以占用處理器的程序。這是一種不可搶占方式的排程演算法,優點是實現簡單,缺點是後來的程序等待cpu的時間較長。它現今主要用作輔助排程法 例如結合在優先順序排程演算法中使用,當有兩個最高...