典型的排程演算法

2021-07-25 15:56:01 字數 1213 閱讀 4955

先來先服務排程演算法(fcfs):從就緒佇列中選擇最先進入該佇列中的的程序。屬於不可剝奪演算法,當長任務先到達系統,就會使得後面的許多短作業等待更長的時間。

對長作業有利,對短作業不利(現對sjf和高響應比);有利於cpu繁忙型作業,不利於i/o繁忙型作業。

短作業優先排程演算法(sjf):從就緒佇列中選擇乙個估計執行時間最短的時間,將它們調入記憶體執行。直到完成或發生某事件而阻塞時,才釋放處理機。

對長作業不利(由於排程程式總是排程那些短作業,將導致長作業長期不被排程(飢餓現象)),導致sjp演算法的平均等待時間,平均周轉時間少。

優先順序排程演算法:該演算法可以用作作業排程也可以用作程序排程。

非剝奪式優先順序排程演算法:讓處理機中的程序結束之後再分配給優先順序更高的程序。

剝奪式優先順序排程演算法:當乙個演算法在處理機執行時,若有某個更重要或緊張的程序進入就緒佇列是,則立即暫停正在執行的程序,將處理機分配給更重要或更緊迫的程序。

靜態優先順序:建立程序時確定,不可更改。

動態優先順序:根據情況的變動調整優先順序,動態調整優先順序的主要是程序占用cpu時間的長短,就緒程序等待cpu時間的長短。

高響應比優先排程演算法:是fcfs排程和sjf排程的綜合,考慮每個作業的等待時間和估計的執行時間。在每次進行作業排程時,先從後備作業中的每個響應比,選出相應比最高的作業投入執行。

響應比=(等待時間+要求服務時間)/要求服務時間

當作業的等待時間相同時,要求服務時間越短,其相應比也高,有利於短作業。

當要求時間相同時,由等待時間決定。

對於長作業,作業的響應比可以隨等待時間的增加而提高,當等待時間足夠長時,其響應比提高,避免了長作業的飢餓現象。

時間片輪轉排程演算法:主要用於分時系統,程序排程總是選擇就緒佇列中的第乙個程序執行。

多級反饋佇列排程演算法:時間片輪轉排程演算法和優先順序排程演算法的綜合。

分時系統中,相應時間跟時間片和使用者數成正比。

中斷向量本身是用於存放中斷服務例行程式的入口位址,那麼中斷向量位址就應該是該入口位址的位址。

作業系統典型排程演算法

在作業系統中存在多種排程演算法,其中有的排程演算法適用於作業排程,有的排程演算法適用於程序排程,有的排程演算法兩者都適用。下面介紹幾種常用的排程演算法。一 先來先服務 fcfs 排程演算法 fcfs排程演算法是一種最簡單的排程演算法,該排程演算法既可以用於作業排程也可以用於程序排程。在作業排程中,演...

典型的查詢演算法

查詢 只進行查詢的稱為靜態查詢表 在查詢的過程中同時插入查詢表中不存在的資料元素,或者從查詢表中刪除已經存在的元素,稱為動態查詢表。靜態查詢 1.順序查詢 演算法思想 從表中最後乙個記錄開始,逐個進行記錄的關鍵字和給定值的比較,若某個記錄的關鍵字和給定值比較相等,則查詢成功,找到所查記錄 反之,若直...

LVS排程演算法(上) 靜態排程演算法

lvs的排程方法有十幾中,每種方法的排程標準和適用場景不同。大體有兩大類,分別為固定排程方法或稱為靜態排程方法,另一類是動態排程方法。常用的具體演算法有十種。1 輪詢排程 rr 將所有請求平均的分發到每個集群節點上,即輪流排程。2 加權輪詢排程 wrr 由於不同的伺服器效能不同,因此要考慮讓效能高的...