热门问题
时间线
聊天
视角

時間片輪轉排程

来自维基百科,自由的百科全书

时间片轮转调度
Remove ads

時間片輪轉排程(英語:Round-Robin Scheduling) 是行程網路排程程式常用的演算法之一。[1] 這一方法將相等長度的時間片按照不變的順序依次分配給每個行程[2],且在處理所有行程時不考慮任何優先級。這一演算法簡單並易於實現,並且不會產生飢餓問題。時間片輪轉排程可以應用於其他排程問題,例如電腦網路中的封包排程。它是一個作業系統概念。[3]

Thumb
Round Robin搶占式排程範例

該演算法的名稱來自於其他領域通用的迴圈制原則,即每個參與者輪流獲得相同分量的物品。

行程排程

為了公平地排程行程,迴圈排程程式通常採用分時機制,為每個作業分配一個時間片或時間量[4] (CPU 時間),如果用完這一分配的時間還沒有完成,則中斷該行程。下次為該行程分配時間時,該行程將恢復執行。如果行程在其時間片內終止或將其狀態更改為等待(或阻塞),則排程程式會選擇就緒佇列中的第一個行程來執行。

迴圈演算法是一種搶占式演算法,因為一旦時間片用盡,排程程式就會強制性的暫停行程的執行。

例如,如果時間片為100毫秒,而行程1完成的總時間為250毫秒,則迴圈排程程式將在100毫秒後暫停該行程,並讓其他行程在CPU上占用時間。一旦其他執行緒都使用過一次相同的時間片(100毫秒),行程1將獲得另一次CPU時間分配。這個過程一直將持續迴圈到行程結束並且不需要更多的CPU時間。

例子

在時間片長度為100毫秒的系統中,考慮下表所列舉的行程:

更多資訊 行程名稱, 開始時間(ms) ...
Thumb
時間片輪轉排程

參考資料

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads