优先级继承和优先级天花板

优先级继承

当一个任务阻塞了若干个任务时,若阻塞任务有高优先级任务,则将所有阻塞任务中的最高优先级作为其优先级

优先级天花板

给每个信号量设置一个优先级天花板,优先级天花板的值大于所有使用该信号的任务的优先级,当某个任务得到该信号量时,将其优先级置为优先级天花板的值。

小结

优先级继承和优先级天花板,目的都是使得到信号量的任务的优先级,不低于其他在等待该信号量的任务的优先级,由此,当该任务释放资源后,任务结束前,也不会被其他较高优先级任务抢占,也就保障了如果有高优先级任务在等待该资源,那么该任务结束后高优先级任务立即就可使用该资源。

优先级反转

假设有任务A,B,C,优先级:A > B > C,任务A,B,C都在等待各自的事件触发,并且A C运行中需要同一个临界资源。
首先,C的事件到来了,C开始运行,C得到了临界资源的信号量,此时,A等待的事件到来。
由于A的优先级更高,于是抢占了CPU的使用权,但是由于得不到临界资源的信号量,进入挂起状态,等待资源释放后唤醒。接着C继续得到CPU使用权。
在C释放信号量之前,B等待的事件到来了,B的优先级高于C,抢占CPU使用权,待B任务完成后,释放CPU,C继续运行,直到C释放信号量以后,A才得以被唤醒继续运行。

在这个过程中,A任务的优先级实际降到了和C相同的层次,究其原因,便是C得到了信号量后被不需要该信号量但是优先级更高的任务B抢占,故而使用优先级继承和优先级天花板,就是为了保障高优先级任务真正做到”高优先级“。

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值