7 程序排程演算法

2021-08-20 06:15:03 字數 1924 閱讀 1647

程序排程演算法

基本排程演算法

1.先來先服務

fcfs:既可以作為作業排程演算法也可以作為程序排程演算法;按作業或者程序到達的先後順序依次排程;因此對於長作業比較有利。

演算法優點:易於理解且實現簡單,只需要乙個佇列(fifo),且相當公平 

演算法缺點:比較有利於長程序,而不利於短程序,有利於cpu 繁忙的程序,而不利於i/o 繁忙的程序

2.短作業優先

spf:作業排程演算法,演算法從就緒佇列中選擇估計時間最短的作業進行處理,直到得出結果或者無法繼續執行;

演算法優點:相比fcfs 演算法,該演算法可改善平均周轉時間和平均帶權周轉時間,縮短程序的等待時間,提高系統的吞吐量。 

演算法缺點:對長程序非常不利,可能長時間得不到執行,且未能依據程序的緊迫程度來劃分執行的優先順序,以及難以準確估計程序的執行時間,從而影響排程效能。

3.   

** 高優先權優先

hrrf**

:既可以作為作業排程也可以作為程序排程演算法;排程作業時,從就緒佇列中選擇優先順序最高的作業進行處理;由於涉及到了優先順序,因此可以分為搶占式和非搶占式;而且優先順序的確定也可以分為靜態優先順序(事先根據程序型別,程序對資源的需求,使用者要求等方面確定乙個固定值);動態優先順序(隨程序的推進或者等待時間而增加或者減少)。

4.最高響應比優先

hrn

fcfs

可能造成短作業使用者不滿,

spf可能使得長作業使用者不滿,於是提出

hrn,選擇響應比最高的作業執行。(考慮等待和處理時間因素)響應比

=1+作業等待時間

/作業處理時間。

演算法優點:由於長作業也有機會投入執行,在同一時間內處理的作業數顯然要少於sjf法,從而採用hrrn方式時其吞吐量將小於採用sjf 法時的吞吐量。 

演算法缺點:由於每次排程前要計算響應比,系統開銷也要相應增加。

5.    

時間片輪轉

(rr,round-robin):按到達的先後對程序放入佇列中,然後給隊首程序分配

cpu時間片,時間片用完之後計時器發出中斷,暫停當前程序並將其放到佇列尾部,迴圈。

演算法優點:時間片輪轉排程演算法的特點是簡單易行、平均響應時間短。 

演算法缺點:不利於處理緊急作業。在時間片輪轉演算法中,時間片的大小對系統效能的影響很大,因此時間片的大小應選擇恰當 

怎樣確定時間片的大小:

時間片大小的確定

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

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

3.系統的處理能力

6.多級反饋佇列

目前公認較好的排程演算法;設定多個就緒佇列並為每個佇列設定不同的優先順序,第乙個佇列優先順序最高,其餘依次遞減。優先順序越高的佇列分配的時間片越短,程序到達之後按

fcfs

放入第乙個佇列,如果排程執行後沒有完成,那麼放到第二個佇列尾部等待排程,如果第二次排程仍然沒有完成,放入第三佇列尾部

…。只有當前乙個隊列為空的時候才會去排程下乙個佇列的程序。

在多級反饋佇列排程演算法中,如果規定第乙個佇列的時間片略大於多數人機互動所需之處理時間時,便能夠較好的滿足各種型別使用者的需要。

程序排程演算法(程序排程策略)

程序排程演算法 排程演算法是指 根據系統的資源分配策略所規定的資源分配演算法。一 先來先服務和短作業 程序 優先排程演算法 1.先來先服務排程演算法。先來先服務 fcfs 排程演算法是一種最簡單的排程演算法,該演算法既可用於作業排程,也可用於程序排程。fcfs演算法比較有利於長作業 程序 而不利於短...

7 程序排程 介紹

目錄這章介紹了一些基本的排程策略,從周轉時間和響應時間兩個指標分別討論這些策略的優劣。在進入正文之前首先了解周轉時間 響應時間如何計算。t t t t t t 周轉時間代表工作從到達和完成之間所花費時間,響應時間代表工作從到達和開始處理工作之間的時間花費。介紹之前做出如下假設 每個工作執行相同的時間...

程序排程演算法

排程演算法是指 根據系統的資源分配策略所規定的資源分配演算法。一 先來先服務和短作業 程序 優先排程演算法 1.先來先服務排程演算法。先來先服務 fcfs 排程演算法是一種最簡單的排程演算法,該演算法既可用於作業排程,也可用於程序排程。fcfs演算法比較有利於長作業 程序 而不利於短作業 程序 由此...