排程演算法分類:
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分配給隊首程序,執行一定的時間,執行完畢就分配給另乙個新的隊首程序,每隔一定的時間就執行乙個程序 一旦...