rtos 中对共享资源的保护策略

rtos 中对共享资源的保护策略

1. 锁
  • 锁对系统的实时性影响最小,当一个线程获得了锁,其他线程再去拿锁,就会导致线程处于休眠态
  • 在被锁期间,为避免优先级翻转问题,rtos 中提高持有锁的线程的优先级
  • 注意点:不要在中断上下文中试图获取锁
2. 关中断
  • 关中断也能够保护共享资源,关中断期间,pendsv 将不会受到相应,因此也就失去了线程切换的能力,保证这一时刻仅有一个线程在执行
  • 注意点:频繁关中断极影响系统实时性,因为内核的上下文切换能力都没有了,一旦不能切换或者切换受到影响,系统实时性会降低
3. 关调度器
  • 关闭调度器也能够做到对共享资源的保护,调度器关了,自然高优先级的线程不能抢占低优先级线程,也保证了同一时刻仅一个线程访问共享资源
  • 注意点:在离开共享资源时,要打开调度器,此时会进行一次线程切换。切勿在调度器钩子函数中关闭调度器,不然会递归执行,导致内存被踩坏,系统异常
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值