首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

操作系统 HRRN高响应比优先级调度算法(C+实现)

1. 算法性质

HRRN算法既考虑了作业的等待时间,又考虑作业的运行时间,因此既照顾了短作业,又不致使长作业的等待时间过长,从而改善了处理机调度的性能。

2. 实现方法

我们为每个作业引入一个动态优先级,即优先级会随着时间的增加而动态增加,这样使得长作业的优先级在等待期间不断地增加,等到足够时间后,必然有机会获得处理机。

优先级算法描述为: 优先权(Rp) = (等待时间 + 要求服务时间)/ 要求服务时间

周转时间:周转时间(WT) = 作业完成时间 - 作业到达时间

带权周转时间:带权周转时间(WWT) = 周转时间 / 服务时间

平均周转时间:平均周转时间(AWT) = 作业周转总时间 / 作业个数

平均带权周转时间:平均带权周转时间(AWWT) = 带权周转总时间 / 作业个数

3. 算法优点

如果作业的等待时间相同,则要求服务的时间越短,其优先级越高,因而类似于SJF算法,有利于短作业。

当要求服务的时间相同时,作业的优先权又决定于其等待时间,因而有类似于FCFS算法。

对于长作业的优先级,可以随等待时间增加而提高,当其等待时间足够长时,也可以获得处理机。

4. 实现代码

  4.1 HRRN实现函数

  4.2 主函数

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230217A069TQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券