程序排程演算法理解

2021-08-20 14:22:15 字數 1113 閱讀 3173

一.排程演算法分類:    

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中,然後求剩餘頂點...