- 9
- 0
- 约4.48千字
- 约 8页
- 2016-12-25 发布于重庆
- 举报
优先级反转问题以及解决方式
优先级反转的问题是每一个实时操作系统所必须考虑到的问题,也是嵌入式软件面试所常提问的问题。下面会详细阐述优先级反转产生的根源,以及解决方式。
首先来谈谈优先级反转问题的出现的方式。下图演示优先级出现的问题。
假设有3个任务task1 优先级最高,task2优先级其次,task3优先级最低。假设task1 ,task2 分别阻塞在内核对象上比如queue等,然后轮到task3去运行,首先task3 获得了一个semaphore锁,然后运行了一段时间后,中断唤醒了task1,出中断的时候马上跑task1, 因为task1 的优先级高,然后task1也尝试去获得semaphore锁,但是task3 已经得到了这个锁,所以task1 只能睡眠,轮到task3 继续跑,这个时候中断唤醒了task2,出中断的时候轮到task2去跑,因为task2的优先级比task1要高。task2 运行完了然后给task3 跑,task3 跑完了才轮到task1去跑。
以上的现象就是一个完整的优先级反转的问题出现的现象,整个逻辑貌似都是完全没有任何问题的,唯一的问题就是task2跑完了再去跑task1,也就是说task2插了一脚。 task2 的优先级比起task1 要低的,这样的话task1 要同时承受task2 和task3 跑完才能继续跑。承受task3 跑
您可能关注的文档
最近下载
- 环境影响评价报告公示:环氧丙烷装置甲基异丁基酮和二异丁烯扩建项目环评报告.pdf VIP
- 大数据与数据科学.ppt VIP
- 2026《基于51单片机技术并带有温度补偿的高精度倒车雷达系统设计》8100字.docx
- 2023-2024学年内蒙古乌兰察布市部分旗重点中学小升初语文入学考试卷含答案.doc VIP
- 2026劳务派遣退回通知书.docx VIP
- 北京市口腔医疗服务价格项目表 .pdf VIP
- 大坝蓄水施工方案.docx VIP
- 标准型弹簧垫圈 GB 93-1987.pdf VIP
- 企业科技成果转化奖励实施细则.docx
- (高清版)B-T 21413.2-2021 轨道交通 机车车辆电气设备 第2部分:电工器件 通用规则.pdf VIP
原创力文档

文档评论(0)