標籤:時間片輪轉法 帶權周轉時間 平均帶權周轉時間 進程調度
時間片輪轉法(RR)
演算法描述:用於分時系統中的進程調度。每次調度時,總是選擇就緒隊列的隊首進程,讓其在CPU上運行一個系統預先設定好的時間片。一個時間片內沒有完成啟動並執行進程,返回到緒隊列末尾重新排隊,等待下一次調度。
【例】進程A、B、C、D需要啟動並執行時間分別為20ms、10 ms、15 ms、5 ms,均在0時刻到達。到達的先後次序為A、B、C、D。如果時間片分別為1 ms和5ms,計算各個進程的帶權周轉時間和平均帶權周轉時間。
分析 在掌握了時間片輪轉法概念的基礎上,我們可以用一個執行時間圖來形象地表示作進程的執行情況,協助我們理解此題。具體如下:
根據執行時間圖就可以計算各個進程的帶權周轉時間和平均帶權周轉時間了。這裡要注意的是,要記住帶權周轉時間和平均帶權周轉時間的算術公式:
帶權周轉時間W,即:
W = T/R
其中T為周轉時間,R為實際已耗用時間。
平均帶權周轉時間為:
解:採用時間片輪轉法進行調度,演算法的效能指標如下:
|
到達時間 |
進
程
名 |
到達時間 |
已耗用時間 |
開始時間 |
完成時間 |
周轉時間 |
帶權
周轉時間 |
|
時間片=1 |
A |
0 |
20 |
0 |
50 |
50 |
2.5 |
|
B |
0 |
10 |
1 |
34 |
34 |
3.4 |
|
C |
0 |
15 |
2 |
45 |
45 |
3.0 |
|
D |
0 |
5 |
3 |
20 |
20 |
4.0 |
|
平均周轉時間=37.25 平均帶權周轉時間=3.225 |
|
時間片=5 |
A |
0 |
20 |
0 |
50 |
50 |
2.5 |
|
B |
0 |
10 |
5 |
30 |
30 |
3.0 |
|
C |
0 |
15 |
10 |
45 |
45 |
3.0 |
|
D |
0 |
5 |
15 |
20 |
20 |
4.0 |
|
平均周轉時間=36.25 平均帶權周轉時間=3.125 |
感興趣的同學還可以根據時間片從1~10的變化,多計算幾次,並分析每次計算得到的平均周轉時間,做一條平均周轉時間隨時間片變化的曲線,來體會時間片的變化對平均周轉時間的影響,並分析原因。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
作業系統 時間片輪轉調度演算法