有三道作业,它们的提交时间及执行时间由下表给出: 作业号 提交时间 执行时间 1 8 3 2 8 4 3 8 1 试计算在单道程序环境下,采用最短作业优先调度算法和时间片轮转调度算法(时间片大小为1)的平均周转时间(时间单位:小时,以十进制进行计算;要求写出计算过程)
时间: 2023-07-29 19:07:13 浏览: 159
0956104实现作业调度算法先来先服务+最短作业+最短剩余时间.doc
首先,我们需要计算出每个作业的完成时间、周转时间和带权周转时间。
按照最短作业优先调度算法,作业的执行顺序为3-1-2。
作业3完成时间 = 提交时间 + 执行时间 = 8 + 1 = 9
作业3周转时间 = 完成时间 - 提交时间 = 9 - 8 = 1
作业3带权周转时间 = 周转时间 / 执行时间 = 1 / 1 = 1
作业1完成时间 = 前一作业完成时间 + 执行时间 = 9 + 3 = 12
作业1周转时间 = 完成时间 - 提交时间 = 12 - 8 = 4
作业1带权周转时间 = 周转时间 / 执行时间 = 4 / 3 = 1.33
作业2完成时间 = 前一作业完成时间 + 执行时间 = 12 + 4 = 16
作业2周转时间 = 完成时间 - 提交时间 = 16 - 8 = 8
作业2带权周转时间 = 周转时间 / 执行时间 = 8 / 4 = 2
平均周转时间 = (1 + 4 + 8) / 3 = 4.33
平均带权周转时间 = (1 + 1.33 + 2) / 3 = 1.44
按照时间片轮转调度算法,作业的执行顺序为1-2-3。
作业1完成时间 = max(提交时间, 前一作业完成时间) + 执行时间 = max(8, 8) + 1 = 9
作业1周转时间 = 完成时间 - 提交时间 = 9 - 8 = 1
作业1带权周转时间 = 周转时间 / 执行时间 = 1 / 3 = 0.33
作业2完成时间 = max(提交时间, 前一作业完成时间) + 执行时间 = max(8, 9) + 1 = 10
作业2周转时间 = 完成时间 - 提交时间 = 10 - 8 = 2
作业2带权周转时间 = 周转时间 / 执行时间 = 2 / 4 = 0.5
作业3完成时间 = max(提交时间, 前一作业完成时间) + 执行时间 = max(8, 10) + 1 = 11
作业3周转时间 = 完成时间 - 提交时间 = 11 - 8 = 3
作业3带权周转时间 = 周转时间 / 执行时间 = 3 / 1 = 3
平均周转时间 = (1 + 2 + 3) / 3 = 2
平均带权周转时间 = (0.33 + 0.5 + 3) / 3 = 1.28
因此,在单道程序环境下,采用最短作业优先调度算法的平均周转时间为4.33小时,平均带权周转时间为1.44;采用时间片轮转调度算法(时间片大小为1)的平均周转时间为2小时,平均带权周转时间为1.28。
阅读全文