CPU 时间片轮转机制 (RR 调度)
時間片輪轉(zhuǎn)機制(RR 調(diào)度)
時間片輪轉(zhuǎn)法(Round-Robin,RR)主要用于分時系統(tǒng)中的進程調(diào)度。為了實現(xiàn)輪轉(zhuǎn)調(diào)度,系統(tǒng)把所有就緒進程按先入先出的原則排成一個隊列。新來的進程加到就緒隊列末尾。每當執(zhí)行進程調(diào)度時,進程調(diào)度程序總是選出就緒隊列的隊首進程,讓它在 CPU 上運行一個時間片的時間。時間片是一個小的時間單位,通常為 10~100ms 數(shù)量級。當進程用完分給它的時間片后,系統(tǒng)的計時器發(fā)出時鐘中斷,調(diào)度程序便停止該進程的運行,把它放入就緒隊列的末尾;然后,把 CPU 分給就緒隊列的隊首進程,同樣也讓它運行一個時間片,如此往復。
進程調(diào)度
采用此算法的系統(tǒng),其程序就緒隊列往往按進程到達的時間來排序。進程調(diào)度程序總是選擇就緒隊列中的第一個進程,也就是說按照先來先服務原則調(diào)度,但一旦進程占用處理機則僅使用一個時間片。在使用先一個時間片后,進程還沒有完成其運行,它必須釋放出處理機給下一個就緒的進程,而被搶占的進程返回到就緒隊列的末尾重新排隊等待再次運行。
處理器同一個時間只能處理一個任務。處理器在處理多任務的時候,就要看請求的時間順序,如果時間一致,就要進行預測。挑到一個任務后,需要若干步驟才能做完,這些步驟中有些需要處理器參與,有些不需要(如磁盤控制器的存儲過程)。不需要處理器處理的時候,這部分時間就要分配給其他的進程。原來的進程就要處于等待的時間段上。經(jīng)過周密分配時間,宏觀上就象是多個任務一起運行一樣,但微觀上是有先后的,就是時間片輪換。
實現(xiàn)思想
時間片輪轉(zhuǎn)算法的基本思想是,系統(tǒng)將所有的就緒進程按先來先服務算法的原則,排成一個隊列,每次調(diào)度時,系統(tǒng)把處理機分配給隊列首進程,并讓其執(zhí)行一個時間片。當執(zhí)行的時間片用完時,由一個計時器發(fā)出時鐘中斷請求,調(diào)度程序根據(jù)這個請求停止該進程的運行,將它送到就緒隊列的末尾,再把處理機分給就緒隊列中新的隊列首進程,同時讓它也執(zhí)行一個時間片
參考百度詞條
https://baike.baidu.com/item/%E6%97%B6%E9%97%B4%E7%89%87%E8%BD%AE%E8%BD%AC%E8%B0%83%E5%BA%A6/3059054?utm_source=hacpai.com
作者:moonce
鏈接:https://hacpai.com/article/1541479518505
來源:黑客派
協(xié)議:CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/
總結(jié)
以上是生活随笔為你收集整理的CPU 时间片轮转机制 (RR 调度)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: reviewboard--ubuntu安
- 下一篇: 豌豆荚应用市场上传时提示“抽取icon失