排程實質是一種資源分配,排程程式從記憶體中選擇乙個可執行的程序,為之分配cpu。
作業從進入系統到後備佇列,再從執行到結束退出系統為止,期間經過不同級別的排程:高階排程又長程排程或作業排程。是將在外存上處於後備佇列中的作業調入記憶體,為其建立程序、分配資源、放入就緒佇列。(外存 ---> 記憶體)
中級排程又稱記憶體排程。是將不能執行的程序調到外存等待(掛起狀態),當其具備影響條件且記憶體有空閒時,再調記憶體。(提高記憶體利用率,系統吞吐量)
低階排程又稱程序排程。是為就緒佇列中的程序分配處理機。(記憶體 ---> cpu)
周轉時間指作業被提交給系統開始,到作業完成為止的這段時間間隔。周轉時間ti = 完成時間 - 到達時間
帶權周轉時間,即作業周轉時間ti與系統為它提供服務時間ts之比:
對與n個作業,每個作業帶權周轉時間為wi,則平均帶權周轉時間:
cpu利用率,即作業執行時間ci 與 周轉時間ti的比率。即:
響應比,即作業響應時間(等待時間+執行時間)與執行時間之比:
特點:按作業(程序)先後次序進行排程;
非搶占方式。(程序一旦執行,一直到執行結束或阻塞時,才將其退出,處理機分配給其他程序)
可以採用佇列來實現。
按fsfs執行,平均作業周轉時間較長,不作為主調策略,但適合長作業。
特點:作業計算時間越短,優先順序越高;
可採用搶占式或非搶占式;
用於高階排程。
優點:與fcfs相比,提高系統吞吐量。
缺點:需要知道作業執行時間,一般系統會估計作業執行時間,估計時間一般偏長;
對長作業不利,長作業周轉時間明顯增加,可能得不到服務(飢餓現象);
採用此演算法,人-機無法互動;
未考慮作業緊迫程度。
特點:按照程序優先順序大小進行排程;
相同優先順序的按照fcfs順序排程;
主要用於程序。
排程演算法型別:
搶占式:處理機分配給優先順序最高的程序,但如果在其執行期間有更高優先順序的程序時,排程程式就會將處理機分配到新優先順序最高的程序;
非搶占式:一旦處理機分配給乙個程序,則其將一直執行下去,直至執行結束或是阻塞退出。
優先順序型別:
靜態優先順序: 是在程序建立時確定,在程序的執行整個期間保持不變。
動態優先順序: 是在程序建立時分配乙個優先順序,隨著程序的推進或等待時間的增加而改變。
特點:響應比高的先排程;
非搶占策略。
優點:有利於短作業:等待時間相同,服務時間越短,響應比越高;
實現先來先服務:服務時間相同,等待時間越短,響應比越高;
即使是長作業,隨著等待時間增加,其響應比也會增加,也有機會被呼叫。
缺點:由於要計算響應比,所以增加了系統開銷。
特點:按程序fcfs策略,組織程序就緒佇列;
確定合適大小時間片;
得到時間片的程序即被分配處理機執行,直到時間片結束或程式執行結束;
可搶占策略。
特點:演算法實現:多個程序就緒佇列,每個對應乙個排程優先級別,各級不同;
各級就緒佇列中程序具有不同時間片,依優先順序從高到低成倍增加;
各級佇列按fifo原則排序。
處理機排程 程序排程 作業排程演算法
在多道程式系統中,主存中有著多個程序,其數目往往多於處理機數目,這就要求系統能按照某種演算法,動態地將處理機分配給就緒佇列中的某個程序,使之執行。對於批量型作業而言,通常需要經歷作業排程 又稱為高階排程或長程排程 和程序排程 又稱為低階排程或短程排程 兩個過程後方能獲得處理機 對於終端型作業,通常只...
常見的作業排程和程序排程演算法
接下來我們分別講解一下幾種常見演算法以及它們適用的排程型別。演算法思想 演算法規則 適用排程型別 是否可以搶占 優點缺點 是否會飢餓 主要從公平的角度考慮 按照作業 程序到達的先後順序進行排程 即 優先考慮在系統中等待時間最長的作業 程序排程和作業排程 非搶占式演算法 滿足公平原則,且演算法容易實現...
程序排程與作業排程
作業排程按一定的演算法從磁碟上的 輸入井 中選擇資源能得到滿足的作業裝入記憶體,使作業有機會去占用處理器執行。但是,乙個作業能否占用處理器,什麼時間能夠占用處理器,必須由程序排程來決定。所以,作業排程選中了乙個作業且把它裝入記憶體時,就應為該作業建立乙個程序,若有多個作業被裝入記憶體,則記憶體中同時...