排程演算法種類及粗略解釋

2021-10-19 05:25:42 字數 1609 閱讀 2200

多級反饋佇列排程演算法

基本原理(**假設為n級**)

高響應比優先排程演算法

短作業優先

高優先順序優先

作業系統管理了系統的有限資源,當有多個程序(或多個程序發出的請求)要使用這些資源時,因為資源的有限性,必須按照一定的原則選擇程序(請求)來占用資源。這就是排程。目的是控制資源使用者的數量,選取資源使用者許可占用資源或占用資源。

一種最古老,最簡單,最公平且使用最廣的演算法。每個程序被分配一時間段,稱作它的時間片,即該程序允許執行的時間。

在早期的時間片輪轉法中,系統將所有的就緒程序按先來先服務的原則,排成乙個佇列,每次排程時,把cpu分配給隊首程序,並令其執行乙個時間片.時間片的大小從幾ms到幾百ms.當執行的時間片用完時,由乙個計時器發出時鐘中斷請求,排程程式便據此訊號來停止該程序的執行,並將它送往就緒佇列的末尾;然後,再把處理機分配給就緒佇列中新的隊首程序,同時也讓它執行乙個時間片.這樣就可以保證就緒佇列中的所有程序,在一給定的時間內,均能獲得一時間片的處理機執行時間.

1.系統對響應時間的要求

2.就緒佇列中程序的數目

3.系統的處理能力

多級反饋佇列排程演算法是一種cpu處理機排程演算法,unix作業系統採取的便是這種排程演算法,既能使高優先順序的作業得到響應又能使短作業(程序)迅速完成。

1、設有n個佇列(q1,q2…qn),其中各個佇列對於處理機的優先順序是不一樣的,也就是說位於各個佇列中的作業(程序)的優先順序也是不一樣的。一般來說,優先順序priority(q1) > priority(q2) > … > priority(qn)。怎麼講,位於q1中的任何乙個作業(程序)都要比q2中的任何乙個作業(程序)相對於cpu的優先順序要高(也就是說,q1中的作業一定要比q2中的作業先被處理機排程),依次類推其它的佇列。

2、對於優先順序最低的佇列來說,裡面是遵循時間片輪轉法。也就是說,位於佇列qn中有m個作業,它們的執行時間是通過qn這個佇列所設定的時間片來確定的;對於其他佇列,遵循的是先來先服務演算法,每一程序分配一定的時間片,若時間片執行完時程序未結束,則進入下一優先順序佇列的末尾。

3、各個佇列的時間片是一樣的嗎?不一樣,這就是該演算法設計的精妙之處。各個佇列的時間片是隨著優先順序的增加而減少的,也就是說,優先順序越高的佇列中它的時間片就越短。同時,為了便於那些超大作業的完成,最後乙個佇列qn(優先順序最低的佇列)的時間片一般很大。

高響應比優先排程演算法(highest response ratio next)是一種對cpu**控制器響應比的分配的一種演算法。hrrn是介於fcfs(先來先服務演算法)與sjf(短作業優先演算法)之間的折中演算法,既考慮作業等待時間又考慮作業執行時間,既照顧短作業又不使長作業等待時間過長,改進了排程效能。

高響應比優先排程演算法(highest response ratio next)是一種對cpu**控制器響應比的分配的一種演算法。hrrn是介於fcfs(先來先服務演算法)與sjf(短作業優先演算法)之間的折中演算法,既考慮作業等待時間又考慮作業執行時間,既照顧短作業又不使長作業等待時間過長,改進了排程效能。

最短作業優先(sjf)排程演算法將每個程序與其下次 cpu 執行的長度關聯起來。當 cpu 變為空閒時,它會被賦給具有最短 cpu 執行的程序。如果兩個程序具有同樣長度的 cpu 執行,那麼可以由 fcfs 來處理。

高優先權優先排程演算法指的是一種在緊迫型作業進入系統後能得到優先處理的計算機演算法。

程序排程與排程器及演算法

核心v2.6.23之後 程序的優先順序 總結linux核心的三種 排程策略 sched other 分時排程策略,預設的 sched fifo實時排程策略,先到先服務 sched rr實時排程策略,時間片輪轉 linux 程序排程有乙個有趣歷史。在 2.5 版本之前,linux 核心採用傳統 uni...

實時排程及相關演算法

引言 隨著計算機的發展,多道程式處理的出現需要強大的排程演算法來對多工進行排程,以確定多工環境下任務的執行順序以及占有 cpu 時間。相對於靜態 不可搶占的排程方法,edf 的出現使之憑藉靈活性高 cpu 占有率高很快成為最優的單處理器排程演算法。實時系統是那些時間因素非常關鍵的系統。例如,計算機的...

頁面置換演算法及磁碟排程演算法

頁面置換演算法 1.最佳置換演算法 opt 選擇以後永不使用或在最長時間內不再被訪問的記憶體頁面予以淘汰。2.先進先出置換演算法 fifo 選擇最先進入記憶體的頁面予以淘汰。3.最近最久未使用演算法 lru 選擇在最近一段時間內最久沒有使用過的頁,把它淘汰。4.最少使用演算法 lfu 選擇到當前時間...