1. 程式人生 > >《操作系統_時間片輪轉RR進程調度算法》

《操作系統_時間片輪轉RR進程調度算法》

sdn 先來 完成 .com 解析 周轉時間 計時器 大小 detail

轉自:https://blog.csdn.net/houchaoqun_xmu/article/details/55540250

時間片輪轉RR進程調度算法

一、概念介紹和案例解析
時間片輪轉法 - 基本原理:
在早期的時間片輪轉法中,系統將所有的就緒進程按先來先服務的原則排成一個隊列,每次調度時,把CPU分配給隊首進程,並令其執行一個時間片。時間片的大小從幾ms到幾百ms。當執行的時間片用完時,由一個計時器發出時鐘中斷請求,調度程序便據此信號來停止該進程的執行,並將它送往就緒隊列的末尾;然後,再把處理機分配給就緒隊列中新的隊首進程,同時也讓它執行一個時間片。這樣就可以保證就緒隊列中的所有進程在一給定的時間內均能獲得一時間片的處理機執行時間。換言之,系統能在給定的時間內響應所有用戶的請求。

時間片輪轉法 - 時間片大小的確定:
在時間片輪轉算法中,時間片的大小對系統性能有很大的影響,如選擇很小的時間片將有利於短作業,因為它能較快地完成,但會頻繁地發生中斷、進程上下文的切換,從而增加系統的開銷;反之,如選擇太長的時間片,使得每個進程都能在一個時間片內完成,時間片輪轉算法便退化為FCFS算法,無法滿足交互式用戶的需求。一個較為可取的大小是,時間片略大於一次典型的交互所需要的時間。這樣可使大多數進程在一個時間片內完成。

案例解析:

技術分享圖片

(如上gif圖是由GifCam軟件制作)

所下圖所示為q=1和q=4時各進程的平均周轉時間和帶權平均周轉時間,圖中的RR(Round Robin)表示輪轉調度算法。

技術分享圖片

《操作系統_時間片輪轉RR進程調度算法》