- 2
- 0
- 约小于1千字
- 约 10页
- 2023-11-26 发布于陕西
- 举报
由“探路者”错误谈优先级反转问题
探路者(Pathfinder)软件错误美国航空航天局开启探索火星计划1996.12.4发射,1997.7.4着陆于火星旅居者号火星车(rovers)
飞船系统内任务可简化为三类:P1:检查设备状态(高)P2:处理数据(中)P3:气象数据收集任务(低)P1与P3竞争总线资源,设定互斥信号量s保护
访问临界资源---系统总线试图请求总线被P3阻塞信号量s锁定被P1抢占被P2抢占信号量s解锁信号量s锁定P1P2P3
解决方案(一)优先级继承优先级较低的任务继承任何一个与它共享资源的高优先级任务的优先级;(P1可继承P3)高优先级的任务在资源上阻塞的时候,优先级继承立即生效;(时刻t4,P1优先级=P3优先级)低优先级的任务释放资源,同时优先级恢复。
试图请求总线被P3阻塞信号量s锁定被P1抢占P1唤醒信号量s解锁信号量s锁定优先级继承优先级恢复P1P2P3
解决方案(二)优先级置顶优先级与资源相关联资源优先级设定为比使用该资源的最高优先级的任务更高一级;调度器动态将此优先级分配给任何访问该资源的任务任务完成,优先级返回原始值
信号量s锁定信号量s解锁优先级置顶优先级恢复信号量s锁定信号量s解锁P1P2P3
优先级反转问题优先级继承优先级置顶…...???
谢 谢
原创力文档

文档评论(0)