RTOS共享资源保护-互斥量实现共享资源的保护

互斥量实现共享资源的保护

概述

上节讲述了使用二值信号量保护共享资源时可能出现优先级反转的问题。本节讲述的互斥信号量是改善优先级反转问题的策略之一。

互斥信号量(Mutex是,简写为 Mux)添加了优先级继承机制的特殊的二值信号量。其典型的结构如下:
在这里插入图片描述

如上图所示,互斥信号量是二值信号量的改造,与二值信号量一样,其不需要消息缓冲区,并且最大消息数量为1。在二值信号量的基础上,互斥信号量增加了“拥有者”字段(指示当前的互斥信号量被哪个任务正在使用),并通过“拥有者原优先级”字段记录当前正在占用信号量的任务的优先级。

互斥信号量如何降低优先级反转的影响

使用互斥信号量时,当发生优先级反转时,将触发一种优先级继承机制(priority inheritance),来加速低优先级任务的运行,然后让高优先级任务尽快得到运行。

在这里插入图片描述

首先,高优先级的任务3不能从任务1中“强取豪夺”式地霸占LED灯资源(*因为任务的优先级仅决定其获取CPU资源的优先级别,决定不了非CPU资源的分配,比如,这里的LED灯资源*),但是为了尽可能快地获得执行&#

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

物联网老王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值