在一个单道批处理系统中,一组作业的提交时刻和运行时间如下表所示,试编程分别计算先来先服务作业调度算法和短作业优先调度算法的平均周转时间。
时间: 2023-11-17 15:05:44 浏览: 316
假设每个作业只有一个进程,且不考虑上下文切换时间。
| 作业 | 提交时间 | 运行时间 |
|:----:|:--------:|:--------:|
| J1 | 0 | 4 |
| J2 | 3 | 5 |
| J3 | 4 | 2 |
| J4 | 6 | 1 |
| J5 | 8 | 6 |
首先,计算先来先服务作业调度算法的平均周转时间:
1. 对作业按照提交时间进行排序,得到顺序为 J1-J2-J3-J4-J5。
2. 计算每个作业的完成时间,即前一个作业的完成时间加上当前作业的运行时间。得到 J1 的完成时间为 4,J2 的完成时间为 9,J3 的完成时间为 11,J4 的完成时间为 12,J5 的完成时间为 18。
3. 计算每个作业的周转时间,即完成时间减去提交时间。得到 J1 的周转时间为 4,J2 的周转时间为 6,J3 的周转时间为 7,J4 的周转时间为 6,J5 的周转时间为 10。
4. 计算所有作业的平均周转时间,即所有作业的周转时间之和除以作业数。得到平均周转时间为 (4+6+7+6+10)/5 = 6.6。
其次,计算短作业优先调度算法的平均周转时间:
1. 对作业按照运行时间进行排序,得到顺序为 J4-J3-J1-J2-J5。
2. 计算每个作业的完成时间,即前一个作业的完成时间加上当前作业的运行时间。得到 J4 的完成时间为 1,J3 的完成时间为 3,J1 的完成时间为 7,J2 的完成时间为 12,J5 的完成时间为 18。
3. 计算每个作业的周转时间,即完成时间减去提交时间。得到 J1 的周转时间为 7,J2 的周转时间为 9,J3 的周转时间为 7,J4 的周转时间为 1,J5 的周转时间为 10。
4. 计算所有作业的平均周转时间,即所有作业的周转时间之和除以作业数。得到平均周转时间为 (7+9+7+1+10)/5 = 6.8。
因此,先来先服务作业调度算法的平均周转时间为 6.6,短作业优先调度算法的平均周转时间为 6.8。在这个例子中,先来先服务作业调度算法的效果更好。
阅读全文