目錄說明
1,先來先服務排程演算法(first-come first-served,fcfs) 概述
本質 特點
2,短作業/短程序優先演算法(short job/process first,sjf/spf) 概述
本質 特點
3,高優先權優先排程演算法(fpf或priority-scheduling algorithm,psa) 概述
說明優先權:演算法的核心
程序的優先權
優先權的確定
4,高響應比優先排程演算法(highest response ratio next,hrrn) 概述
說明 特點
5,基於時間片的輪轉(round robin,rr)排程演算法 概述
時間片選擇
時間片大小選擇
6,多佇列排程演算法
7,多級反饋佇列排程演算法 概述
演算法概述 特點
實質是一種資源分配方法,因而排程演算法是指:根據系統的資源分配策略所規定的資源分配演算法
對於不同的系統和系統目標,通常採用不同的排程演算法,例如,在批處理系統中,為了照顧為數眾多的短作業,應採用短作業優先的排程演算法.又如在分時系統中,為了保證系統具有合理的響應時間,應採用輪轉法進行排程。
目前存在的多種排程演算法中,有的演算法適用於作業排程,有的演算法適用於程序排程;但也有些排程演算法既可用於作業排程,也可用於程序排程。
排程演算法很少有絕對的好壞!
僅考慮「到達時間」;
僅考慮「執行時間」;
搶占式優先權(程序排程):高優先權程序到達時,立刻停止低優先權程序的執行,讓高優先權程序執行。
非搶占式優先權(程序排程):高優先權作業程序到達時,須等待低優先權程序執行完畢或主動釋放cpu。
靜態優先權:程序建立時確定(根據程序型別、資源需求和使用者要求等),直到程序執行結束,保持不變。
動態優先權:程序建立時確定(根據程序型別、資源需求和使用者要求等)初始優先權,在程序執行過程中,可以發生變化。
由於等待時間與服務時間之和就是系統對該作業的響應時間,故該優先順序又相當於響應比rp。據此,優先又可表示為:
對新建立程序,首先將它放入第1佇列末尾,按fcfs原則排隊等待排程。
當輪到該程序執行時,如它能在該時間片內完成,則結束; 如果未完成,排程程式便將該程序轉入第2佇列的末尾,再同樣按fcfs原則等待排程執行;
如果它在第2佇列中執行1個時間片後仍未完成,再依次將它放入第3佇列…。如此下去,當1個長作業(程序)從第1佇列依次降到第n佇列後,在第n佇列中便採取按時間片輪轉的方式執行。
避免了事先計算各種程序所需的執行時間。
具有較好的效能,能較好地滿足各種型別使用者需要:
作業系統排程演算法
include include include include using namespace std const int maxnum 101 typedef struct information node struct node1 此結構體用於優先順序演算法的搶占式 int priority i...
作業系統排程演算法
在作業系統中存在多種排程演算法,其中有的排程演算法適用於作業排程,有的排程演算法適用於程序排程,有的排程演算法兩者都適用。下面介紹幾種常用的排程演算法。fcfs排程演算法是一種最簡單的排程演算法,該排程演算法既可以用於作業排程也可以用於程序排程。在作業排程中,演算法每次從後備作業佇列中選擇最先進入該...
作業系統 排程演算法
fcfs是最簡單的排程演算法,既可以用於作業排程,也可以用於程序排程,系統將按照作業到達的先後次序來進行排程。sjf演算法是以作業的長短來計算優先順序,作業越短,優先順序越高。作業的長短是以作業所要求的執行時間來衡量的。可以分別用於作業排程和程序排程。缺點 必須預知作業的執行時間 對長作業很不利,長...