時間片輪轉排程怎麼算

日期:2021-10-16 分類:綜合百科 投稿:yangang

最佳答案 如果在時間片結束時程序還在執行,則CPU將被剝奪並分配給另一個程序。如果程序在時間片結束前阻塞或結束,則CPU當即進行切換。假如程序切換(processswitch),有時稱為上下文切換(contextswitch),需要5毫秒,再假設時間片設為20毫秒,則在做完20毫秒有用的工作之後,CPU將花費5毫秒來進行程序切換。

時間片輪轉排程怎麼算

時間片輪轉排程是一種最古老,最簡單,最公平且使用最廣的演算法。每個程序被分配一個時間段,稱作它的時間片,即該程序允許執行的時間。如果在時間片結束時程序還在執行,則CPU將被剝奪並分配給另一個程序。如果程序在時間片結束前阻塞或結束,則CPU當即進行切換。排程程式所要做的就是維護一張就緒程序列表,當程序用完它的時間片後,它被移到佇列的末尾。

時間片輪轉排程中唯一有趣的一點是時間片的長度。從一個程序切換到另一個程序是需要一定時間的--儲存和裝入暫存器值及記憶體映像,更新各種表格和佇列等。假如程序切換(processswitch),有時稱為上下文切換(contextswitch),需要5毫秒,再假設時間片設為20毫秒,則在做完20毫秒有用的工作之後,CPU將花費5毫秒來進行程序切換。CPU時間的20%被浪費在了管理開銷上。