作業系統 程序排程演算法理解

2021-08-20 06:29:58 字數 1653 閱讀 1318

排程演算法分類:

1. 批處理

2. 互動式

3. 實時

排程演算法的目標:

所有系統:公平、策略強制執行、平衡

批處理系統:吞吐量、周轉時間、cpu利用率

互動式:響應時間、均衡性

實時系統:滿足截止時間、可**性

批處理系統中的排程

1. 先到先服務(fcfs):在所有排程演算法中,最簡單的是非搶占式的

fcfs

演算法。演算法原理:

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

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

i/o

繁忙的程序

2. 最短作業優先(sjf):適用於執行時間可以預知的批作業的非搶占式排程演算法

演算法原理:

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

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

3. 最短剩餘時間優先:最短作業優先的搶占式版本就是最短剩餘時間優先

4. **排程:

1>.准入排程:決定那些作業進入系統。

2>.記憶體排程:決定哪個程序留在記憶體,而那個程序換出到磁碟。

演算法原理:

互動式系統中的排程

1. 時間片輪轉排程:一種最古老、最簡單、最公平且是使用最廣的演算法。

演算法原理:讓就緒程序以fcfs 的方式按時間片輪流使用

cpu

的排程方式,即將系統中所有的就緒程序按照

fcfs

原則,排成乙個佇列,每次排程時將

cpu

分派給隊首程序,讓其執行乙個時間片,時間片的長度從幾個

ms 到幾百

ms。在乙個時間片結束時,發生時鐘中斷,排程程式據此暫停當前程序的執行,將其送到就緒佇列的末尾,並通過上下文切換執行當前的隊首程序,程序可以未使用完乙個時間片,就出讓

cpu(如阻塞)。

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

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

怎樣確定時間片的大小:

時間片大小的確定

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

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

3.系統的處理能力

2. 優先順序排程:每乙個程序被賦予乙個優先順序,率先執行優先順序最高的就緒程序。

3. 多重佇列

4. 最短程序優先

5. 保證排程演算法

6. 彩票排程演算法

7. 公平分享排程

實時系統排程

程序排程演算法理解

一.排程演算法分類 1.批處理 2.互動式 3.實時 二.演算法排程目標 所有系統 公平 策略強制執行 平衡 1.批處理系統 吞吐量 周轉時間 cpu利用率 2.互動式 響應時間 均衡性 3.實時系統 滿足截止時間 可 性 三.各種系統的排程演算法 1.批處理排程系統 1 先到先服務 fcfs 在所...

作業系統 程序排程演算法

cpu利用率 cpu忙碌的時間佔總時間的比例 利 用率 忙碌的 時間總時 間利用率 frac 利用率 總時 間忙碌的 時間 系統吞吐量 單位時間完成作業或程序的數量 吞 吐量 完成的 作業數量 總時 間吞吐量 frac 吞吐量 總時 間完成的 作業數量 周轉時間 完成作業需要花費的總時間 周 轉時 ...

作業系統 程序排程及其演算法

儲存處理機資訊 按某種演算法選取程序 把處理器分配給程序 排隊器。把就緒程序排成乙個或者幾個佇列 分派器。把程序從就緒佇列中取出來,然後把處理機給他 非搶占式 搶占式把就緒程序排成乙個佇列,把cpu分配給隊首程序,執行一定的時間,執行完畢就分配給另乙個新的隊首程序,每隔一定的時間就執行乙個程序 一旦...