在一个单道批处理系统中,一组作业的提交时刻和运行时间如下表所示,试编程分别计算先来先服务作业调度算法和短作业优先调度算法的平均周转时间。
时间: 2023-11-17 22:05:45 浏览: 107
假设在单道批处理系统中,作业的提交时刻和运行时间如下表所示:
| 作业编号 | 提交时刻 | 运行时间 |
| :-----: | :-----: | :-----: |
| J1 | 0 | 8 |
| J2 | 0 | 4 |
| J3 | 2 | 5 |
| J4 | 3 | 3 |
| J5 | 5 | 2 |
其中,提交时刻和运行时间都以时间片为单位。
首先,我们来计算先来先服务作业调度算法的平均周转时间。
先来先服务作业调度算法的思路是,按照作业提交的先后顺序进行调度,即先提交的作业先执行,后提交的作业等待前面的作业完成后才能执行。
假设当前时间为0,按照先来先服务作业调度算法的执行顺序如下:
| 当前时间 | 执行作业 | 完成时间 |
| :-----: | :-----: | :-----: |
| 0 | J1 | 8 |
| 8 | J2 | 12 |
| 12 | J3 | 17 |
| 17 | J4 | 20 |
| 20 | J5 | 22 |
计算每个作业的周转时间和平均周转时间:
| 作业编号 | 提交时刻 | 运行时间 | 完成时间 | 周转时间 |
| :-----: | :-----: | :-----: | :-----: | :-----: |
| J1 | 0 | 8 | 8 | 8 |
| J2 | 0 | 4 | 12 | 12 |
| J3 | 2 | 5 | 17 | 15 |
| J4 | 3 | 3 | 20 | 17 |
| J5 | 5 | 2 | 22 | 17 |
| 平均值 | | | | 13.8 |
因此,先来先服务作业调度算法的平均周转时间为13.8个时间片。
接下来,我们来计算短作业优先调度算法的平均周转时间。
短作业优先调度算法的思路是,每次选择运行时间最短的作业进行执行,如果有多个作业运行时间相同,则按照作业提交的先后顺序进行调度。
假设当前时间为0,按照短作业优先调度算法的执行顺序如下:
| 当前时间 | 执行作业 | 完成时间 |
| :-----: | :-----: | :-----: |
| 0 | J2 | 4 |
| 4 | J3 | 9 |
| 9 | J4 | 12 |
| 12 | J5 | 14 |
| 14 | J1 | 22 |
计算每个作业的周转时间和平均周转时间:
| 作业编号 | 提交时刻 | 运行时间 | 完成时间 | 周转时间 |
| :-----: | :-----: | :-----: | :-----: | :-----: |
| J1 | 0 | 8 | 22 | 22 |
| J2 | 0 | 4 | 4 | 4 |
| J3 | 2 | 5 | 9 | 7 |
| J4 | 3 | 3 | 12 | 9 |
| J5 | 5 | 2 | 14 | 9 |
| 平均值 | | | | 10 |
因此,短作业优先调度算法的平均周转时间为10个时间片。