首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >信号量优先级反转

信号量优先级反转
EN

Stack Overflow用户
提问于 2013-04-02 10:30:18
回答 1查看 5.1K关注 0票数 0

为什么RTOSes没有任何实现来防止信号量的优先级反转,即使它存在于互斥锁中。

信号量不需要防止优先级反转吗?

同样的情况也发生在uC/OS和GreenHills实时操作系统上。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-02 11:00:06

当低优先级任务拥有信号量,而高优先级任务被强制等待信号量,直到低优先级任务释放它时,就会发生

优先级反转。如果在释放信号量之前,低优先级任务被一个或多个中优先级任务抢占,则由于高优先级任务的延迟不再可预测,所以发生了无界优先级反转。这击败了截止日期单调分析(DMA),因为无法预测高优先级任务是否会满足其截止日期。

在高优先级和低优先级任务之间共享关键资源不是理想的设计实践。最好仅在相同优先级的任务之间共享资源,或者限制对单个资源服务器任务的资源访问。例如,打印服务器任务和文件服务器任务。我们长期以来一直提倡这种做法。然而,随着RTOS上日益多样化和复杂的中间件的层次化,实施这种简单的策略变得不切实际。因此,为了安全起见,最好实现一些防止无界优先级反转的方法。

http://www.smxrtos.com/articles/techppr/mutex.htm上检查完整链接

致以敬意,

奥塔康

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15755080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档