含有5个进程的简单轮转法调度算法
时间: 2023-08-30 21:12:23 浏览: 48
假设有以下5个进程需要执行:
| 进程ID | 到达时间 | 执行时间 |
| ------ | -------- | -------- |
| P1 | 0 | 10 |
| P2 | 1 | 5 |
| P3 | 2 | 8 |
| P4 | 3 | 3 |
| P5 | 4 | 4 |
现在我们使用简单轮转法调度算法,时间片大小为2,来对这些进程进行调度。
首先,将所有进程按到达时间入队,队列如下:
```
{P1, 0, 10}
{P2, 1, 5}
{P3, 2, 8}
{P4, 3, 3}
{P5, 4, 4}
```
然后,依次从队列中取出进程,根据剩余执行时间判断是否能在该时间片内完成。如果能完成,则计算该进程的周转时间并将已完成的进程数加一;否则,该进程暂时退出CPU,剩余执行时间减去时间片,并重新入队。循环调度所有进程,直到所有进程都完成。在调度过程中,记录每个进程的等待时间、周转时间、完成时间等信息。最后,输出每个进程的相关信息和平均等待时间、平均周转时间。
根据上述算法,可以得到以下调度结果:
| 进程ID | 到达时间 | 执行时间 | 完成时间 | 周转时间 | 等待时间 |
| ------ | -------- | -------- | -------- | -------- | -------- |
| P1 | 0 | 10 | 16 | 16 | 6 |
| P2 | 1 | 5 | 12 | 11 | 6 |
| P3 | 2 | 8 | 20 | 18 | 10 |
| P4 | 3 | 3 | 9 | 6 | 3 |
| P5 | 4 | 4 | 14 | 10 | 6 |
平均等待时间为 6.2,平均周转时间为 12.2。