作業系統的排程演算法

2021-10-05 10:35:14 字數 1207 閱讀 4968

1.先來先服務(fcfs)

2.短作業優先(sjf) (非搶占式)

3.最短剩餘時間優先(搶占式的短作業優先)

4.輪轉法(rr,強佔式)

5.多級反饋佇列

多級(假設為n級)反饋佇列排程演算法可以如下原理:

1、設有n個佇列(q1,q2....qn),其中各個佇列對於處理機的優先順序是不一樣的,也就是說位於各個佇列中的作業(程序)的優先順序也是不一樣的。一般來說,優先順序priority(q1) > priority(q2) > ... > priority(qn)。怎麼講,位於q1中的任何乙個作業(程序)都要比q2中的任何乙個作業(程序)相對於cpu的優先順序要高(也就是說,q1中的作業一定要比q2中的作業先被處理機排程),依次類推其它的佇列。

2、對於優先順序最低的佇列來說,裡面是遵循時間片輪轉法。也就是說,位於佇列qn中有m個作業,它們的執行時間是通過qn這個佇列所設定的時間片來確定的;對於其他佇列,遵循的是先來先服務演算法,每一程序分配一定的時間片,若時間片執行完時程序未結束,則進入下一優先順序佇列的末尾。

多級反饋佇列排程演算法圖示

3、各個佇列的時間片是一樣的嗎?不一樣,這就是該演算法設計的精妙之處。各個佇列的時間片是隨著優先順序的增加而減少的,也就是說,優先順序越高的佇列中它的時間片就越短。同時,為了便於那些超大作業的完成,最後乙個佇列qn(優先順序最低的佇列)的時間片一般很大(不需要考慮這個問題)。

6.優先順序排程

作業系統排程演算法

include include include include using namespace std const int maxnum 101 typedef struct information node struct node1 此結構體用於優先順序演算法的搶占式 int priority i...

作業系統排程演算法

在作業系統中存在多種排程演算法,其中有的排程演算法適用於作業排程,有的排程演算法適用於程序排程,有的排程演算法兩者都適用。下面介紹幾種常用的排程演算法。fcfs排程演算法是一種最簡單的排程演算法,該排程演算法既可以用於作業排程也可以用於程序排程。在作業排程中,演算法每次從後備作業佇列中選擇最先進入該...

作業系統 排程演算法

fcfs是最簡單的排程演算法,既可以用於作業排程,也可以用於程序排程,系統將按照作業到達的先後次序來進行排程。sjf演算法是以作業的長短來計算優先順序,作業越短,優先順序越高。作業的長短是以作業所要求的執行時間來衡量的。可以分別用於作業排程和程序排程。缺點 必須預知作業的執行時間 對長作業很不利,長...