Skip to content

高响应比优先调度

考情分析

HRRN 是 FCFS 和 SJF 的折中方案,408 真题中以计算题形式出现。属于 🔥🔥 中高频考点。

FCFS 偏心长作业,SJF 偏心短作业——能不能综合考虑"等了多久"和"要干多久",让两边都不吃亏?HRRN 用一个响应比公式做到了这一点。

算法规则

高响应比优先(Highest Response Ratio Next, HRRN):每次调度时计算所有就绪进程的响应比,选择响应比最高的进程执行。

R=+=1+

HRRN 是非抢占式算法。

为什么是折中方案

情况响应比表现等同于
等待时间相同服务时间短的 R 更大偏向 SJF
服务时间相同等待时间长的 R 更大偏向 FCFS
随等待时间增加长作业的 R 逐渐增大不会饥饿

调度示例

进程到达时间服务时间
P107
P224
P341
P454

t=0:只有 P1 到达,执行 P1。

t=7(P1 完成,计算各进程的响应比):

进程等待时间服务时间响应比
P27-2=54(5+4)/4 = 2.25
P37-4=31(3+1)/1 = 4.00 ← 最高
P47-5=24(2+4)/4 = 1.50

选择 P3 执行。

t=8(P3 完成):

进程等待时间服务时间响应比
P28-2=64(6+4)/4 = 2.50 ← 最高
P48-5=34(3+4)/4 = 1.75

选择 P2 执行。

t=12(P2 完成):执行 P4。

时间: 0           7  8    12      16
      ├───────────┤──┤────────┤────────┤
           P1      P3    P2       P4
进程完成时间周转时间带权周转时间
P1771.00
P3844.00
P212102.50
P416112.75
平均8.002.56

交互可视化

加载可视化中...

特点总结

特性结论
抢占方式非抢占式
是否饥饿不会饥饿(等待越久响应比越高)
适用场景兼顾长短作业
缺点每次调度都要计算所有进程的响应比,开销大

考研高频考点

  • 🔥🔥🔥 响应比的计算公式和具体数值计算
  • 🔥🔥 HRRN 综合了 FCFS 和 SJF 的优点
  • 🔥🔥 HRRN 不会导致饥饿
  • 🔥 HRRN 只有非抢占式实现

到这里,单队列的调度算法都介绍完了。但实际系统中不同类型的进程差异很大,能不能用多个队列分开管理?下一篇看多级队列调度。

真题练习

相关真题(2题)

2011Q23选择题2分

HRRN:兼顾短任务优先和等待时间,不会饥饿

2010Q25选择题2分

HRRN综合考虑:响应比=(等待时间+执行时间)/执行时间