一.排程演算法分類:
1.批處理;
2.互動式;
3.實時
二.演算法排程目標:
所有系統:公平、策略強制執行、平衡
1.批處理系統: 吞吐量、周轉時間、cpu利用率
2.互動式:響應時間、均衡性
3.實時系統:滿足截止時間、可**性
三.各種系統的排程演算法:
1.批處理排程系統:
1>.先到先服務(fcfs):在所有排程演算法中,最簡單的是非搶占式的fcfs排程演算法;
優點:易於理解且實現簡單,只需要乙個fifo佇列,相當公平
缺點:有利於長程序,不利於短程序,有利於cpu繁忙的程序,不利於io繁忙的程序
2>.最短作業優先(sjf):用於執行時間可預知的批作業的非搶占式排程演算法;
原理:
優點:可改善平均周轉時間,縮短程序等待時間,提高系統的吞吐量
缺點:對長程序不利,可能長時間得不到執行,未能按緊迫程度劃分優先順序,以及難以準確估計程序的執行時間,從而影響排程效能。
3>.最短剩餘時間優先:即最短作業優先排程演算法的搶占式版本
4>.**排程:
准入排程:決定哪些作業進入系統
記憶體排程:決定哪些程序進入記憶體,哪些進場切換到磁碟
2.互動式系統中的排程:
1.時間輪轉排程:最古老,最簡單,最公平且使用最廣的演算法
原理:讓就緒程序以fcfs方式按時間片輪流使用cpu的方式,即將所有就緒程序按照fcfs原則,排列成乙個佇列,每次排程時將 cpu分配給隊首程序,讓其執行乙個時間片,在乙個時間片結束時,發生時鐘中斷,排程程式據此暫停當前程序,將其送至就緒佇列的末尾,並通過上下文切換執行當前隊首的程序,程序可以未使用完乙個時間片就讓出cpu。
時間片大小的確定:
1>.系統對響應時間的要求
2>.就緒佇列中程序的數目
3>.系統的處理能力
2.優先順序排程:每乙個程序被賦予乙個優先順序,優先順序最高的程序率先執行
3.多重佇列
4.最短程序優先
5.保證排程演算法
6.彩票排程演算法,公平分享排程
作業系統 程序排程演算法理解
排程演算法分類 1.批處理 2.互動式 3.實時 排程演算法的目標 所有系統 公平 策略強制執行 平衡 批處理系統 吞吐量 周轉時間 cpu利用率 互動式 響應時間 均衡性 實時系統 滿足截止時間 可 性 批處理系統中的排程 1.先到先服務 fcfs 在所有排程演算法中,最簡單的是非搶占式的 fcf...
A 演算法理解
廣度優先 bfs 和深度優先 dfs 搜尋 深度優先搜尋,用俗話說就是不見棺材不回頭。演算法會朝乙個方向進發,直到遇到邊界或者障礙物,才回溯。一般在實現的時候,我們採用遞迴的方式來進行,也可以採用模擬壓棧的方式來實現。如下圖,s代表起點,e代表終點。我們如果按照右 下 左 上這樣的擴充套件順序的話,...
dijkstra 演算法理解
求有向圖中乙個源點到其他頂點的最短距離 自己的理解 剛開始的時候相當於有三個集合 v 頂點集合 s 已求得的最短距離頂點集合,假設求a到其他頂點的最短距離 s 剩餘頂點集合 d 儲存的是最短距離值 求一維陣列中的最小值的下標,這個陣列不包含已經求得的頂點 找出最小值下標後,放入到s中,然後求剩餘頂點...