操作系统 RR循环调度示例
在下面的示例中,有六个进程,分别命名为P1、P2、P3、P4、P5和P6。它们的到达时间和执行时间在下表中给出。系统的时间片大小为4个单位。
| Process ID | Arrival Time | Burst Time |
|---|---|---|
| 1 | 0 | 5 |
| 2 | 1 | 6 |
| 3 | 2 | 3 |
| 4 | 3 | 1 |
| 5 | 4 | 5 |
| 6 | 6 | 4 |
根据算法的要求,我们必须维护就绪队列和甘特图。每次调度后,这两个数据结构的结构都会发生变化。
就绪队列
最初,在时间0,进程P1到达,它将被调度为时间片4个单位。因此,就绪队列开始时只有一个进程P1,CPU执行时间为5个单位。
| P1 |
|---|
| 5 |
甘特图
P1首先执行4个单位。

就绪队列
与此同时,在执行P1的同时,另外四个进程P2、P3、P4和P5到达了就绪队列。P1尚未完成,它还需要1个单位的时间,因此它也将被添加回就绪队列中。
| P2 | P3 | P4 | P5 | P1 |
|---|---|---|---|---|
| 6 | 3 | 1 | 5 | 1 |
甘特图
在 P1 之后,P2 将被执行 4 个时间单位,如 GANTT 图表所示。

就绪队列
在执行P2期间,还有一个进程P6到达了就绪队列。由于P2尚未完成,因此P2将以剩余的执行时间2个单位重新添加到就绪队列中。
| P3 | P4 | P5 | P1 | P6 | P2 |
|---|---|---|---|---|---|
| 3 | 1 | 5 | 1 | 4 | 2 |
甘特图
在 P1 和 P2 之后,P3 将被执行 3 个时间单位,因为它的 CPU 增长时间仅为 3 秒。

就绪队列
因为P3已经完成,因此它将被终止并不会被加入到就绪队列中。下一个将被执行的进程是P4。
| P4 | P5 | P1 | P6 | P2 |
|---|---|---|---|---|
| 1 | 5 | 1 | 4 | 2 |
甘特图
在P1、P2和P3之后,P4将被执行。它的执行时间只有1个单位,小于时间片,因此将被完成。

就绪队列
就绪队列中的下一个进程是具有5个单位的执行时间的P5。由于P4已经完成,所以它将不会再被加入队列。
| P5 | P1 | P6 | P2 |
|---|---|---|---|
| 5 | 1 | 4 | 2 |
甘特图
P5将被执行整个时间片,因为它需要5个单位的执行时间,高于时间片的长度。

就绪队列
P5尚未完成;它将被添加回队列,并保留1个单位的剩余执行时间。
| P1 | P6 | P2 | P5 |
|---|---|---|---|
| 1 | 4 | 2 | 1 |
甘特图
进程P1将有机会完成其执行。由于它只需要1个单位的执行时间,因此它将被完成。

就绪队列
P1已经完成并且不会再被添加回就绪队列中。下一个进程P6只需要4个时间单位的执行时间,将会被下一步执行。
| P6 | P2 | P5 |
|---|---|---|
| 4 | 2 | 1 |
甘特图
P6将在4个时间单位内执行完毕。

就绪队列
由于P6已经完成,因此不会再次添加到队列中。准备队列中只有两个进程。下一个进程P2只需要2个时间单位。
| P2 | P5 |
|---|---|
| 2 | 1 |
甘特图
因为只需要2个时间单位,所以P2会再次执行,因此P2将会被完成。

就绪队列
现在,队列中唯一可用的进程是P5,它需要1个单位的执行时间。由于时间片的长度为4个单位,因此它将在下一个执行时间片内完成。
| P5 |
|---|
| 1 |
甘特图
P5将执行直到完成。

完成时间,周转时间和等待时间将根据下表所示进行计算。
如我们所知,
Turn Around Time = Completion Time - Arrival Time
Waiting Time = Turn Around Time - Burst Time
| Process ID | Arrival Time | Burst Time | Completion Time | Turn Around Time | Waiting Time |
|---|---|---|---|---|---|
| 1 | 0 | 5 | 17 | 17 | 12 |
| 2 | 1 | 6 | 23 | 22 | 16 |
| 3 | 2 | 3 | 11 | 9 | 6 |
| 4 | 3 | 1 | 12 | 9 | 8 |
| 5 | 4 | 5 | 24 | 20 | 15 |
| 6 | 6 | 4 | 21 | 15 | 11 |
平均等待时间 = (12+16+6+8+15+11)/6 = 76/6 单位
极客笔记