基本概念
时间片轮转法(Round-Robin,RR)主要用于分时系统中的进程调度。为了实现轮转调度,系统把所有就绪进程按先入先出的原则排成一个队列。新来的进程加到就绪队列末尾。每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间片的时间。时间片是一个小的时间单位,通常为10~100ms数量级。当进程用完分给它的时间片后,系统的计时器发出时钟中断,调度程序便停止该进程的运行,把它放入就绪队列的末尾;然后,把CPU分给就绪队列的队首进程,同样也让它运行一个时间片,如此往复。
例题
- 完成表格
进程 | 到达时间 | 服务时间 | 完成时间 | 周转时间 | 带权周转时间 |
---|---|---|---|---|---|
A | 0 | 3 | |||
B | 2 | 6 | |||
C | 4 | 4 | |||
D | 6 | 5 | |||
E | 8 | 2 |
解析:
进程处理的流程(P=1) :
0.A CPU服务A
1.A CPU服务A
2.BA 当A执行完毕后被被放入队列的末尾,队列变成BA,CPU服务B
3.AB B执行完毕被放入末尾,队列变成AB,CPU服务A
4.BC A经过三次服务,处理完成。进程C进入队列并放在队尾,CPU服务B
5.CB B执行完毕被放入末尾,队列变成CB,CPU服务C
6.BDC D进入队列放入队尾即B的后面,当C执行完毕后被放入末尾,队列变成BDC,CPU服务B
7.DCB 接下来的服务以此类推
8.CBED
9.BEDC
10.EDCB
11.DCBE
12.CBED
13.BEDC
14.EDCB
15.DCB
16.CBD
17.BD
18.D
19.D
注:周转时间 = 完成时刻 - 进入系统时刻
带权周转时间 = 周转时间 / 所需服务时间
进程 | 到达时间 | 服务时间 | 完成时间 | 周转时间 | 带权周转时间 |
---|---|---|---|---|---|
A | 0 | 3 | 4 | 4 | 1.33 |
B | 2 | 6 | 18 | 16 | 2.67 |
C | 4 | 4 | 17 | 13 | 3.25 |
D | 6 | 5 | 20 | 14 | 2.80 |
E | 8 | 2 | 15 | 7 | 3.50 |