排程演算法總結

2022-04-29 08:48:09 字數 2177 閱讀 2577

1.程序排程演算法

1.先到先服務

2.最短作業優先排程

3.高響應比優先排程

要求服務時間相同,等待時間短的時間先服務,等待時間相同,要求服務時間長的先服務,兼顧了長作業和短作業。

4.時間片輪轉

每個程序執行一定的時間,然後放到隊尾,執行下乙個佇列。

5.最高優先順序排程

為每個程序設定乙個優先順序。

6.多級反饋佇列排程

按照先來先服務原則排序,設定n個就緒隊列為q1,q2...qn,每個佇列中都可以放很多作業;

為這n個就緒佇列賦予不同的優先順序,第乙個佇列的優先順序最高,第二個佇列次之,其餘各佇列的優先權逐個降低;

設定每個就緒佇列的時間片,優先權越高,演算法賦予佇列的時間片越小。時間片大小的設定按照實際作業(程序)的需要調整;

程序在進入待排程的佇列等待時,首先進入優先順序最高的q1等待。

首先排程優先順序高的佇列中的程序。若高優先順序中佇列中已沒有排程的程序,則排程次優先順序佇列中的程序。例如:q1,q2,q3三個佇列,只有在q1中沒有程序等待時才去排程q2,同理,只有q1,q2都為空時才會去排程q3。

對於同乙個佇列中的各個程序,按照時間片輪轉法排程。比如q1佇列的時間片為n,那麼q1中的作業在經歷了時間片為n的時間後,若還沒有完成,則進入q2佇列等待,若q2的時間片用完後作業還不能完成,一直進入下一級佇列,直至完成。

在低優先順序的佇列中的程序在執行時,又有新到達的作業,那麼在執行完這個時間片後,cpu馬上分配給新到達的作業即搶占式排程cpu。

二,頁面置換演算法

缺頁中斷

在 cpu 裡訪問一條 load m 指令,然後 cpu 會去找 m 所對應的頁表項。

如果該頁表項的狀態位是「有效的」,那 cpu 就可以直接去訪問物理記憶體了,如果狀態位是「無效的」,則 cpu 則會傳送缺頁中斷請求。

作業系統收到了缺頁中斷,則會執行缺頁中斷處理函式,先會查詢該頁面在磁碟中的頁面的位置。

找到磁碟中對應的頁面後,需要把該頁面換入到物理記憶體中,但是在換入前,需要在物理記憶體中找空閒頁,如果找到空閒頁,就把頁面換入到物理記憶體中。

頁面從磁碟換入到物理記憶體完成後,則把頁表項中的狀態位修改為「有效的」。

最後,cpu 重新執行導致缺頁異常的指令。

已經在使用的頁面中最長時間沒有被訪問的先被置換掉。

2.先進先出

根據未來即將使用的頁面中淘汰已經使用的頁面中最久不會被訪問的頁面。

4.clock 頁面置換演算法

5.最少使用置換

為每個在使用的頁面設定乙個計數器,每次發生頁面置換的時候淘汰使用次數最少的。

三、磁碟排程演算法

1.先來先掃瞄

2.最短左右優先

3.掃瞄演算法,

從先訪問的開始,從乙個方向掃瞄到底,然後掉頭掃瞄另乙個方向,注意會掃到0。

4.迴圈掃瞄

先從乙個方向開始掃,掃到底然後掉頭到開始端,再從同乙個方向開始掃。

5.look和c-look 分別是對掃瞄和迴圈掃瞄的優化,優化的具體是指一旦掃到具體的請求就不再掃了,可能不會掃到0.

CPU排程演算法總結

重要指標 吞吐量,周轉時間,cpu利用率,公平平衡 非搶占式的最短作業優先 sjf 具有最短完成時間的程序優先執行 最短剩餘時間優先 srtn sjf搶占式版本,即當乙個新就緒的程序比當前執行程序具有更短完成時間時,系統搶占當前程序,選擇新就緒的程序執行。最高相應比優先演算法 hrrn 是乙個綜合演...

作業排程演算法總結

在典型的設計中,乙個任務有以下三種狀態 正在執行 running,正在cpu中執行 待命 ready,等待執行 阻塞 blocked,任務暫停,等待乙個事件的發生,例如接收一組資料 由於cpu在某個時間只能執行乙個任務,大部分任務,在大部分時間,處於阻塞或待命狀態。可能會有大量專案在待命列表裡等待執...

常用排程演算法總結

分類 作業系統舉報 目錄 先來先服務佇列 最短優先優先佇列 高優先權優先排程演算法 優先權排程演算法的型別 高響應比優先排程演算法 基於時間片的輪轉排程演算法 時間片輪轉法 多級反饋佇列排程演算法 電梯排程演算法 排程演算法是指 根據系統的資源分配策略所規定的資源分配演算法,如任務a在執行完後,選擇...