作業系統中排程演算法(FCFS、RR、SPN、SRT、HRRN)

Candy_GL發表於2019-03-10

轉自:https://blog.csdn.net/xieminyao123/article/details/79116985

決策模式

決策模式說明選擇函式在執行的瞬間的處理方式,通常分為以下兩類:

非搶佔:一旦進入執行狀態,就不會終止直到執行結束。

搶佔:當前正在執行的程式可以被打斷,並轉移到就緒態。

 一個排程演算法是否能搶佔,對程式的順序有著極大的影響。

先來先服務FCFS

  先來先服務是最簡單的策略,也成為先進先出FIFO。首先它是一個非搶佔的。如字面的意思,它根據程式到達時間決定先執行哪一個程式。

  這裡給出一個實際的例子。以表格的形式表現出在FIFO策略下各程式的情況。

簡單說就是依次執行完成,從時間軸上來看

以表格的形式展現:

 

其中開始時間是上一個程式的結束時間

      結束時間=開始時間+服務/執行時間

      週轉週期=結束時間-到達時間

      帶權週轉時間=週轉時間/服務時間

最短程式優先SPN

也稱最短作業優先(Short Job First,SJF)。它也是一個非搶佔的。是根據服務的時間經行選擇。在這裡要注意下到達時間的順序。比如例項中單純以大小來排序的話是E-A-C-D-B,但正確的排序一定是A-B為開頭。以時間為順序:

 

例子中A執行結束時間為3,這時只有B程式等待。所以A執行結束後直接執行B。B結束後時間點到9,CDE都在等待。這個時候就選擇服務時間最少的E,然後是較少的C,最後是D。以表格的形式展示:

 

最短剩餘時間優先SRT

SRT是針對SPN增加了搶佔機制的版本,就好比例子中B執行時間非常長,在這期間其他所有的程式都在等待,如果將其中斷,先處理所需時間少的,執行效率會有顯著提升。一定要先明確SRT是搶佔的。先給出時間為順序的圖:

 

1. A先執行至2,B到達等待。

2. A執行到3結束,B開始執行。

3. B開始執行,執行到4時,C程式到達,且C只需要4,此時B還需要5。所以先執行C,B繼續等待。

4. C執行時間點到達6時,D到達,D需要5,進入等待,排在B後。

5. C執行結束,此時時間點是8,E到達,執行時間只要2,小於等待的BD,直接執行。

6. C執行結束,B開始執行。

7. B執行結束,D開始執行。

以表格的形式展現:

 

 

輪轉RR

輪轉也稱時間片技術(time slicing,SL),對於輪轉法,最重要的是時間片的長度。輪轉演算法以一個週期(q)產生中斷,當中斷髮生時,當前執行的程式置於就緒佇列(隊尾)中,然後基於FCFS選擇下一個就緒作業執行。在這裡我們以時間片q=1舉例。

q=1,所以一次只能執行一個時間片。

0:A1運轉(右標表示執行了幾個)

1:A2運轉

2:B1運轉,A3等待(B開始)

3:A3運轉,B2等待

4:B2運轉,C1等待,(A結束)

5:C1運轉,B3等待(C開始)

6:B3運轉,D1等待,C2等待

7:D1運轉,C2等待,B4等待(D開始)

8:C2執行,B4等待,E1等待,D2等待

9:B4執行,E1等待,D2等待,C3等待

10:E1執行,D2等待,C3等待,B5等待(E開始)

11:D2執行,C3等待,B5等待,E2等待

12:C3執行,B5等待,E2等待,D3等待

13:B5執行,E2等待,D3等待,C4等待

14:E2執行,D3等待,C4等待,B6等待

15:D3執行,C4等待,B6等待(E結束)

16:C4執行,B6等待,D4等待

17:B6執行,D4等待(C結束)

18:D5執行,D6等待(B結束)

19:D6執行

20:D結束

表格展示:

 

 

高響應比優先HRRN

高響應比優先排程演算法

高響應比優先排程演算法主要用於作業排程,該演算法是對FCFS排程演算法和SJF排程演算法的一種綜合平衡,同時考慮每個作業的等待時間和估計的執行時間。在每次進行作業排程時,先計算後備作業佇列中每個作業的響應比,從中選出響應比最高的作業投入執行。 

響應比的變化規律可描述為:

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

根據公式可知:

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

當要求服務時間相同時,作業的響應比由其等待時間決定,等待時間越長,其響應比越高,因而它實現的是先來先服務。

對於長作業,作業的響應比可以隨等待時間的增加而提高,當其等待時間足夠長時,其響應比便可升到很高,從而也可獲得處理機。克服了飢餓狀態,兼顧了長作業。
--------------------- 
作者:光羽住一 
來源:CSDN 
原文:https://blog.csdn.net/xieminyao123/article/details/79116985 
版權宣告:本文為博主原創文章,轉載請附上博文連結!

相關文章