排程演算法的介紹及優缺點

2021-09-02 19:13:32 字數 2621 閱讀 7298

一、先來先服務(fcfs)/先進先出(fifo)排程演算法 

(1)概念:按照作業/程序進入系統的先後次序進行排程,先進入系統者先排程;即啟動等待時間最長的作業/程序。是一種最簡單的排程演算法,即可用於作業排程,也可用於程序排程 

 (2) 先來先服務(先進先出)優缺點 

* 比較有利於長作業(程序),而不利於短作業(程序) 

* 有利於cpu繁忙型作業(程序) ,而不利於i/o繁忙型作業(程序) 

* 用於批處理系統,不適於分時系統 

二、短作業優先排程演算法(sjf)

1、概念:從佇列中選出乙個估計執行時間最短的作業優先排程,即可用於作業排程,也可用於程序排程

2、sj(p)f排程演算法也存在不容忽視的缺點 

*對長作業不利。嚴重的是,若一長作業(程序)進入系統的後備佇列(就緒佇列),由於排程程式總是優先排程那些(即使是後進來的)短作業(程序),將導致長作業(程序)長期不被排程——飢餓 

*完全未考慮作業(程序)的緊迫程度,因而不能保證緊迫性作業(程序)會被及時處理 

*由於作業(程序)的長短只是根據使用者所提供的估計執行時間而定的,而使用者又可能會有意或無意地縮短其作業的估計執行時間,致使該演算法不一定能真正做到短作業優先排程。 

三、高優先權排程演算法 

即可用於作業排程,也可用於程序排程

1、優先排程演算法的型別 

(1)非搶占式優先權排程演算法 

特點:系統一旦把處理機分配給就緒佇列中優先權最高的程序後,該程序便一直執行下去,直至完成,或因發生某事件使該程序放棄處理機時,系統才將處理機重新分配給另一優先權最高的程序 

主要用於批處理系統中,也可用於某些對實時性要求不嚴的實時系統中 

(2)搶占式優先權排程演算法 

特點:把處理機分配給優先權最高的程序,但在執行期間,只要出現另乙個優先權更高的程序,則程序排程程式就立即停止當前程序的執行,並將處理機分配給新到的優先權最高的程序 

注意:只要系統中出現乙個新的就緒程序,就進行優先權比較 

該排程演算法,能更好地滿足緊迫作業的要求,故而常用於要求比較嚴格的實時系統中,以及對效能要求較高的批處理和分時系統中

2、優先權型別 

高優先權排程演算法,需要比較作業或程序的優先順序,所以我們需要了解一下優先順序 

優先權分為靜態優先權、動態優先權 

(1)靜態優先權 

靜態優先權在建立程序時確定,且在程序的整個執行期間保持不變。一般地,優先權是利用某一範圍內的乙個整數來表示的,例如,0∼7或0∼255, 又把該整數稱為優先數 

確定程序優先權的依據有如下三個方面: 

程序型別:系統程序的優先權高於一般使用者程序。 

程序對資源的需求:如程序的估計執行時間及記憶體需要量少的程序,應賦予較高的優先權。 

使用者要求:由使用者程序的緊迫程度和使用者所付費用的多少來確定優先權。 

(2)動態優先權 

概念:在建立程序時賦予的優先權是隨程序的推進或隨其等待時間的增加而改變,以獲得更好的排程效能。可規定,在就緒佇列中的程序,隨其等待時間的增長,其優先權以速率a提高 

特徵:具有相同優先權初值的程序,則最先進入就緒佇列,其將因其動態優先權變得最高而優先獲得處理機,此即fcfs演算法 

具有各不相同的優先權初值的就緒程序,則優先權初值低的程序,在等待了足夠的時間後,其優先權便可能公升為最高,從而可以獲得處理機 

注意:當採用搶占式優先權排程演算法時,如果再規定當前程序的優先權以速率b下降,則可防止乙個長作業長期地壟斷處理機

四、高響應比優先排程演算法 

(1)概念:高響應比優先排程演算法既考慮作業的執行時間也考慮作業的等待時間,綜合了先來先服務和最短作業優先兩種演算法的特點。 

該演算法中的響應比是指作業等待時間與執行比值,響應比公式定義如下: 

響應比 =(等待時間+要求服務時間)/ 要求服務時間,即rr=(w+s)/s=1+w/s,因此響應比一定是大於1的。 

(2)優缺點 

優點:等待時間相同的作業,則要求服務的時間愈短,其優先權愈高,——對短作業有利 

要求服務的時間相同的作業,則等待時間愈長,其優先權愈高,——是先來先服務 

長作業,優先權隨等待時間的增加而提高,其等待時間足夠長時,其優先權便可公升到很高, 從而也可獲得處理機——對長作業有利 

是一種折衷,既照顧了短作業,又考慮了作業到達的先後次序,又不會使長作業長期得不到服務。 

缺點:要進行響應比計算,增加了系統開銷

五、簡單的時間片輪轉法(rr—round robin) 

(1)概念:系統將所有的就緒程序按先來先服務的原則排成乙個佇列,每次排程時,把cpu分配給隊首程序,並令其執行乙個時間片;當執行的時間片用完時,由乙個計時器發出時鐘中斷請求,排程程式便停止該程序的執行,並將其放就緒佇列尾;然後,再把處理機分配給就緒佇列中新的隊首;時間片的大小從幾ms到幾百ms 

(2)缺點:緊迫任務響應慢。 

unix中採用:時間片+優先權 

(3)時間片選取 

太小,會頻繁發生中斷、程序上下文切換,增加系統開銷,但利於短作業 

太大,退化成fcfs 

——時間片應該略大於一次典型互動的時間

程序排程演算法的優缺點

1 時間片輪轉排程演算法 rr 給每個程序固定的執行時間,根據程序到達的先後順序讓程序在單位時間片內執行,執行完成後便排程下乙個程序執行,時間片輪轉排程不考慮程序等待時間和執行時間,屬於搶占式排程。優點是兼顧長短作業 缺點是平均等待時間較長,上下文切換較費時。適用於分時系統。2 先來先服務排程演算法...

演算法的優缺點 邏輯回歸演算法的優缺點

邏輯回歸演算法是最經典的幾個機器學習演算法之一,本文對它的優點,缺點進行總結。sigmoid函式 表示式如下 1.實現簡單,廣泛的應用於工業問題上 2.分類時計算量非常小,速度很快,儲存資源低 3.便利的觀測樣本概率分數 4.對邏輯回歸而言,多重共線性並不是問題,它可以結合l2正則化來解決該問題 5...

作業系統之程序排程演算法優缺點

1.非搶占方式 一旦處理機 cpu 分配給某程序後,不管它執行多久讓他一直執行下去,不會因為時鐘中斷等原因而搶占正在執行的處理機。直到該程序完成,自願放棄處理機,或阻塞時 2.搶占方式 允許排程程式根據某種原則去暫停某個正在執行的程序。搶占排程方式有一定原則,主要有以下幾條 優先權原則 短作業優先原...