程序排程演算法

2021-08-07 14:11:28 字數 1336 閱讀 7277

最近複習作業系統的內容,將網上的部落格進行了整理,寫了這篇部落格。

涉及:fcfs,sjf,hrrn,fpf,mfq,rr

1. 先來先服務排程演算法 (fcfs,first come first served)

2. 短作業(程序)優先排程演算法 sj(p)f

(優先順序排程演算法又稱優先權排程演算法)

3.優先權排程演算法的型別(fpf)

4. 高響應比優先排程演算法(hrrn,highest response ratio next)

5. 時間片輪轉排程演算法(rr)

6. 多級反饋佇列(multilevel feedback queue)

多級反饋佇列排程演算法是一種cpu處理機排程演算法,unix作業系統採取的便是這種排程演算法。它是目前被公認的一種較好的程序排程演算法。多級反饋佇列排程演算法是時間片輪轉排程演算法和優先順序排程演算法的綜合和發展

- 多級反饋佇列排程演算法的實現思想如下:

應設定多個就緒佇列,並為各個佇列賦予不同的優先順序,第1級佇列的優先順序最高,第2級佇列次之,其餘佇列的優先順序逐次降低。

賦予各個佇列中程序執行時間片的大小也各不相同,在優先順序越高的佇列中,每個程序的執行時間片就越小。例如,第2級佇列的時間片要比第1級佇列的時間片長一倍, ……第i+1級佇列的時間片要比第i級佇列的時間片長一倍。

當乙個新程序進入記憶體後,首先將它放入第1級佇列的末尾,按fcfs原則排隊等待排程。當輪到該程序執行時,如它能在該時間片內完成,便可準備撤離系統;如果它在乙個時間片結束時尚未完成,排程程式便將該程序轉入第2級佇列的末尾,再同樣地按fcfs 原則等待排程執行;如果它在第2級佇列中執行乙個時間片後仍未完成,再以同樣的方法放入第3級佇列……如此下去,當乙個長程序從第1級佇列依次降到第 n 級佇列後,==在第 n 級佇列中便釆用時間片輪轉的方式執行。==

僅當第1級隊列為空時,排程程式才排程第2級佇列中的程序執行;僅當第1 ~ (i-1)級佇列均為空時,才會排程第i級佇列中的程序執行。如果處理機正在執行第i級佇列中的某程序時,又有新程序進入優先順序較高的佇列(第 1 ~ (i-1)中的任何乙個佇列),則此時新程序將==搶占==正在執行程序的處理機,即由排程程式把正在執行的程序放回到第i級佇列的末尾,把處理機分配給新到的更高優先順序的程序。

優點:兼顧長短作業,有較好的響應時間,可行性強,適用於各種作業環境。

備註:在多級反饋佇列排程演算法中,如果規定第乙個佇列的時間片略大於多數人機互動所需之處理時間時,便能夠較好的滿足各種型別使用者的需要。

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

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

程序排程演算法

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

程序排程演算法

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