處理機排程 排程演算法

2021-08-31 18:31:52 字數 1646 閱讀 6861

先來先服務(fcfs)排程演算法

短作業(程序)優先排程演算法sjf/spf

根據作業的長短在就緒佇列中排好隊,若採取非搶占方式則根據佇列順序依次執行;若為搶占方式,時間片完或新程序的作業比執行態的作業長度短,則搶占當前正在執行的程序,被搶占程序按照時間長短在就緒佇列排隊等待。(特別注意就緒佇列中的排隊情況)

*優點:有效的降低作業的平均等待時間,提高系統吞吐量

*缺點:

①對短作業有利,但同時造成了對長作業的不利。

②由於作業(程序)的長短含主觀因素,不一定能真正做到短作業優先。

③未考慮作業的緊迫程度,因而不能保證緊迫性作業(程序)的及時處理。

例題:

高優先權優先排程演算法hpf

照顧緊迫性作業,使其獲得優先處理而引入排程演算法。常用於批處理系統中的作業排程演算法,以及多種作業系統中的程序排程演算法

===》高響應比優先排程演算法hrrn

hrrn為每個作業引入動態優先權,使作業的優先順序隨著等待時間的增加而以速率a提高:

優先權 =(等待時間+要求服務時間)/要求服務時間= 響應時間 / 要求服務時間

a.同時到達的作業優先權相同(利於短作業同時對長作業也有照顧)

b.當執行時間相同的作業,優先權的高低決定於其等待時間的長短,也就是先來先服務。

注:什麼時候計算各程序的響應比優先權?

需要進行排程選擇的時候比較各自優先權:作業完成時,新作業產生時(搶占、非搶占),時間片完成時,程序阻塞時

例題:

基於時間片的輪轉排程演算法rr

分時系統需要及時相應使用者的請求

做法:a.將系統中所有的就緒程序按照fcfs原則,排成乙個佇列。

b.每次排程時將cpu分派給隊首程序,讓其執行乙個時間片。時間片的長度從幾個ms到幾百ms。(太少會導致頻繁切換增加系統的開銷,太長將退化為fcfs演算法)

(影響時間片長度的主要因素:系統的處理能力和系統的負載狀態)

c.在乙個時間片結束時,發生時鐘中斷。

d.排程程式據此暫停當前程序的執行,將其送到就緒佇列的末尾,並通過上下文切換執行當前就緒的隊首程序。

**程序阻塞情況發生時,未用完時間片也要出讓cpu。

處理機排程 排程演算法

將使用者作業和就緒程序按提交順序或變為就緒狀態的先後排成佇列,按照先來先服務的方式進行排程處理。1.直 該演算法在一般意義下是公平的。即每個作業或程序都按照它們在佇列中等待時間長短決定它們是否優先享受服務 2.但如果執行時間較短的作業或程序在某些執行時間很長的作業或程序之後到達,則它們將等待很長時間...

處理機排程 排程演算法

將使用者作業和就緒程序按提交順序或變為就緒狀態的先後排成佇列,按照先來先服務的方式進行排程處理。1.直 該演算法在一般意義下是公平的。即每個作業或程序都按照它們在佇列中等待時間長短決定它們是否優先享受服務 2.但如果執行時間較短的作業或程序在某些執行時間很長的作業或程序之後到達,則它們將等待很長時間...

處理機排程演算法!

include include typedef structnode typedef struct nodelnode void delay int i void len queue lnode hpt,node x if q null r link p else if r q else void ...