题目
假设有四个作业,它们的提交、运行时间如下表所示。若采用响应比高者优先调度算法,试问平均周转时间和平均带权周转时间为多少?(时间单位:小时,以十进制进行计算。) 作业号 到达时间 运行时间-|||-1 8.0 2.0-|||-2 8.3 0.5-|||-3 8.5 0.1-|||-4 9.0 0.4
假设有四个作业,它们的提交、运行时间如下表所示。若采用响应比高者优先调度算法,试问平均周转时间和平均带权周转时间为多少?(时间单位:小时,以十进制进行计算。) 
题目解答
答案
解析
响应比高者优先调度算法的核心在于动态选择优先级最高的作业执行。响应比的计算公式为:
$\text{响应比} = \frac{\text{等待时间} + \text{运行时间}}{\text{运行时间}}$
关键点:
- 等待时间是作业进入系统后到当前时刻的累计等待时长;
- 每次作业完成时需重新计算剩余作业的响应比,选择最大者执行;
- 新作业到达会触发响应比的重新计算。
调度过程分析
-
作业1(到达时间8.0):
- 系统初始空闲,作业1直接运行,完成时间$8.0 + 2.0 = 10.0$。
- 周转时间:$10.0 - 8.0 = 2.0$小时,带权周转时间:$2.0 / 2.0 = 1.0$。
-
作业3(到达时间8.5):
- 作业1运行至10.0时,队列中作业2(等待$10.0 - 8.3 = 1.7$小时)、作业3(等待$10.0 - 8.5 = 1.5$小时)。
- 响应比计算:
- 作业2:$(1.7 + 0.5) / 0.5 = 4.4$
- 作业3:$(1.5 + 0.1) / 0.1 = 16.0$
- 作业3响应比最高,运行$0.1$小时,完成时间$10.0 + 0.1 = 10.1$。
- 周转时间:$10.1 - 8.5 = 1.6$小时,带权周转时间:$1.6 / 0.1 = 16.0$。
-
作业2(到达时间8.3):
- 作业3完成后,队列中仅作业2(等待$10.1 - 8.3 = 1.8$小时)。
- 响应比:$(1.8 + 0.5) / 0.5 = 4.6$,直接运行,完成时间$10.1 + 0.5 = 10.6$。
- 周转时间:$10.6 - 8.3 = 2.3$小时,带权周转时间:$2.3 / 0.5 = 4.6$。
-
作业4(到达时间9.0):
- 作业2完成后,队列中作业4(等待$10.6 - 9.0 = 1.6$小时)。
- 响应比:$(1.6 + 0.4) / 0.4 = 5.0$,直接运行,完成时间$10.6 + 0.4 = 11.0$。
- 周转时间:$11.0 - 9.0 = 2.0$小时,带权周转时间:$2.0 / 0.4 = 5.0$。
平均周转时间与带权周转时间
- 平均周转时间:
$T = \frac{2.0 + 2.3 + 1.6 + 2.0}{4} = 1.975 \text{小时}$ - 平均带权周转时间:
$W = \frac{1.0 + 4.6 + 16.0 + 5.0}{4} = 6.65$