高响应比优先调度算法 (HRRN)

高响应比优先调度算法(Highest Response Ratio Next)是一种对CPU中央控制器响应比的分配的一种算法。HRRN是介于FCFS(先来先服务算法)与SJF(短作业优先算法)之间的折中算法,既考虑作业等待时间又考虑作业运行时间,既照顾短作业又不使长作业等待时间过长,改进了调度性能。

响应比=作业周转时间/作业处理时间=(作业处理时间+作业等待时间)/作业处理时间=1+(作业等待时间/作业处理时间)

等待时间=最后一个的提交时间-该作业到达的时间
作业执行规则,响应比高的先执行
周转时间=完成时间-提交时间

例题

作业号提交时间执行时间完成时间周转时间
p110.02.0
p210.21.0
p310.40.5
p410.50.3

先执行的是第一个提交作业,然后其余的作业再用响应比来判断执行顺序
先执行p1 :

作业号提交时间执行时间完成时间周转时间
p110.02.012.02.0
p210.21.0
p310.40.5
p410.50.3

设响应比为R
此时 R(p2)=1+((12.0-10.2)/1.0)=2.8
R(p3)=1+((12.0-10.4)/0.5)=4.2
R(p4)=1+((12.0-10.5)/0.3)=6
所以 执行p4:

作业号提交时间执行时间完成时间周转时间
p110.02.012.02.0
p210.21.0
p310.40.5
p410.50.312.31.8

设响应比为R
此时 R(p2)=1+((12.3-10.2)/1.0)=3.1
R(p3)=1+((12.3-10.4)/0.5)=4.8
所以 再执行p3:

作业号提交时间执行时间完成时间周转时间
p110.02.012.02.0
p210.21.0
p310.40.512.82.4
p410.50.312.31.8

因此最后执行p2:

作业号提交时间执行时间完成时间周转时间
p110.02.012.02.0
p210.21.013.83.6
p310.40.512.82.4
p410.50.312.31.8

此算法作业的平均周转时间为:(2.0+3.6+2.4+1.8)/4=2.45

上一篇文章———>Python之format用法详解

下一篇文章———>《scrapy基础操作教程(实例)》

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐