最高响应比优先算法(HRRF)及例题详解

最高响应比优先算法(HRRF):最高响应比优先算法是介于先来先服务算法(FCFS)和最短作业优先算法(SJF)之间的一种算法,它既考虑了作业的等待时间,又考虑了作业的处理时间。

调度规则:响应比最高的作业先运行。

优点:HRRF对于作业的时间分配比较均匀,既照顾了短作业,又不至于使长作业等待时间过长。

缺点:HRRF每次计算响应比都会花费一定的时间,即时间开销。其性能比SJF算法略差。

响应比的计算:

     响应比=作业周转时间/作业处理时间

                =(作业等待时间+作业处理时间)/作业处理时间

                =1+(等待时间/处理时间)

作业等待时间=前一个作业的完成时间-后一个作业的提交时间(提交时间不等于开始时间)

例题 求下列表格中作业的调度次序,并求平均周转时间(单位:小时)

作业号 提交时间 运行时间 开始时间 完成时间 周转时间
1 8.0 2.0      
2 8.3 0.5      
3 8.5 0.1      
4 9.0 0.4      

调度次序:1324

作业1先运行

作业号 提交时间 运行时间 开始时间 完成时间 周转时间
1 8.0 2.0 8.0 10.0 2.0
2 8.3 0.5      
3 8.5 0.1      
4 9.0 0.4      

作业1运行完成后,根据其他作业的响应比决定运行顺序

作业2的响应比:1+(10.0-8.3)/0.5=4.4

作业3的响应比:1+(10.0-8.5)/0.1=16

作业4的响应比:1+(10.0-9.0)/0.4=3.5

作业3响应比最高,然后运行作业3

作业号 提交时间 运行时间 开始时间 完成时间 周转时间
1 8.0 2.0 8.0 10.0 2.0
2 8.3

0.5

     
3 8.5 0.1 10.0 10.1 1.6
4 9.0 0.4      

重新计算响应比

作业2的响应比:1+(10.1-8.3)/0.5=4.6

作业4的响应比:1+(10.1-9.0)/0.4=3.75

作业2响应比最高,运行作业2

作业号 提交时间 运行时间 开始时间 完成时间 周转时间
1 8.0 2.0 8.0 10.0 2.0
2 8.3 0.5 10.1 10.6 2.3
3 8.5 0.1 10.0 10.1 1.6
4 9.0 0.4      

最后运行作业4

作业号 提交时间 运行时间 开始时间 完成时间 周转时间
1 8.0 2.0 8.0 10.0 2.0
2 8.3 0.5 10.1 10.6 2.3
3 8.5 0.1 10.0 10.1 1.6
4 9.0 0.4 10.6 11.0 2.0

平均周转时间T=(2.0+2.3+1.6+2.0)/4=1.975(小时)

 

你可能感兴趣的:(操作系统,算法)