處理器程序排程演算法

2021-09-25 18:18:17 字數 1058 閱讀 9207

周轉時間用於比較同一作業流排程效能,而加權周轉時間用於比較不同作業流排程效能

簡介:根據作業新增到就緒佇列的順序進行排程。此演算法為非剝奪式,即乙個作業執行完畢,另乙個作業才會被排程到處理器。

分析:作業名

作業一28

作業二9

作業三3

按此執行順序,平均周轉時間=(28+ 28+9 + 28+9+3)/ 3 = 35ms。倘若將作業順序換為2、1、3,則平均周轉時間為29ms。可見先來先服務演算法的平均作業周轉時間與作業的提交的排程順序有關。

簡介:顧名思義,即在就緒作業佇列中挑選最短執行市場的作業先執行。

分析:作業名

作業一28

作業二9

作業三3

根據所需cpu時間公升序排列,平均周轉時間為(3+ 3+9 + 3+9+28)/ 3 = 18ms。

面臨問題:一是此演算法需要先預估執行時間,倘若預估時間過短,系統會提前終止作業。二是忽視作業等待時間,由於系統不斷接受新作業,因此長作業的等待時間會過長,出現飢餓現象。但是此演算法執行效能仍優於先來先服務演算法,可比較兩者平均周轉時間。

簡介:此演算法根據最短執行時間進行排程處理的。和上述最短作業優先演算法明顯區別是此演算法為剝奪式演算法。

分析:作業名

到達系統時間

作業一8

0作業二41

作業三9

2作業四53

簡介:該演算法根據預先設定的優先順序進行排程。

分析:該演算法可以是剝奪式,也可以是非剝奪式。兩者區別可以參考上述概念。除此之外,該演算法的優先順序可以是靜態的也可以是動態的。

靜態優先順序:執行緒/程序在建立時便確立優先順序,生命週期內不再改變

動態優先順序:優先順序會在執行過程中動態改變。例如,程序隨占用cpu時間增多而優先順序減少,程序隨等待cpu時間增多而優先順序增加。

這樣的好處是不至於出現飢餓現象,即優先順序低的程序一直得不到執行。

簡介:排程程式為每個程序分配乙個執行時間,簡稱時間片

分析:此演算法為剝奪式,即隨時間的消耗而讓出處理器。因此帶來乙個問題,即時間片的長短分配問題。倘若時間片過長,則執行週期邊長。倘若時間片過短,則程序間來回切換,切換的開銷也是可觀的。

處理器排程演算法

1 排程方式 排程方式是指當有更高優先順序的程序到來時如何分配cpu 分為可剝奪和不可剝奪兩種。2 排程演算法 先來先服務 時間片輪轉 優先順序排程和多級反饋排程演算法 2.1 先來先服務 fcfs 就是按順序進行排程,遵從 先來後到 的規矩。我不管你是誰,也不管你要理什麼頭型,都去排隊,按順序來。...

處理器排程演算法

作業提交時間 執行時間 開始時間 完成時間 周轉時間 min 帶權周轉時間 min 10 00 2 00 10 00 12 00 120 120 10 10 1 00 12 25 13 25 195 60 10 25 0 25 12 00 12 25 120 25 平均周轉時間t 355 平均帶權周...

單處理器程序排程演算法的模擬

include include include include include include using namespace std const int max process number 15 class process void set int id,int arrival,int cpu,...