上次去华为面试,被问及优先级反转及解决办法,虽然以前有所了解,但好长时间没用了,回答时竟然具体卡壳,真是汗颜。所以今天有必要再次理顺一下优先级反转的相关知识。 (1)什么是优先级反转 简单从字面上来说,就是低优先级的任务先于高优先级的任务执行了,优先级搞反了。那在什么情况下会生这种情况呢? 假设三个任务准备执行,A,B,C,优先级依次是A>B>C; 首先:C处于运行状态,获得CPU正在执行,同时占有了某种资源; 其次:A进入就绪状态,因为优先级比C高,所以获得CPU,A转为运行状态;C进入就绪状态; 第三:执行过程中需要使用资源,而这个资源又被等待中的C占有的,于是A进入阻塞状态,C回到运行状态;
第四:此时B进入就绪状态,因为优先级比C高,B获得CPU,进入运行状态;C又回到就绪状态; 第五:如果这时又出现B2,B3等任务,他们的优先级比C高,但比A低,那么就会出现高优先级任务的A不能执行,反而低优先级的B,B2,B3等任务可以执行的奇怪现象,而这就是优先反转。 (2)如何解决优先级反转 高优先级任务A不能执行的原因是C霸占了资源,而C如果不能获得CPU,不释放资源,那A也只好一直等在那,所以解决优先级反转的原则肯定就是让C尽快执行,尽早把资源释放了。基于这个原则产生了两个方法: 2.1 优先级继承
当发现高优先级的任务因为低优先级任务占用资源而阻塞时,就将低优先级任务的优先级提升到等待它所占有的资源的最高优先级任务的优先级。 2.2 优先级天花板 优先级天花板是指将申请某资源的任务的优先级提升到可能访问该资源的所有任务中最高优先级任务的优先级.(这个优先级称为该资源的优先级天花板) 2.3 两者的区别 优先级继承:只有一个任务访问资源时一切照旧,没有区别,只有当高优先级任务因为资源被低优先级占有而被阻塞时,才会提高占有资源任务的优先级;而优先级天花板,不论是否发生阻塞,都提升,即谁先拿到资源,就将这个任务提升到该资源的天花板优先级。
http://blog.csdn.net/hochy2008/article/details/5787928
分享到:
相关推荐
什么是优先级反转?简单从字面上来说,就是低优先级的任务先于高优先级的任务执行了,优先级搞反了。那在什么情况下会生这种情况呢?一起来看看
此论文主要讨论了以μCOS-II为平台的优先级反转现象解决策略
RTOS优先级反转问题分析
实验报告四:(1)设计共有 3 个应用任务 TA0,TA1,TA2;优先级: TA0>TA1>TA2;...用 OSSemCreate、OSSemPend、OSSemPost 显现优先级反转现 象。(2)用 OSMutexCreate、OSMutexPend、OSMutexPost 消除优先级反转现象。
实时操作系统中优先级反转问题研究及一种新的解决方法,宋刚,潘琢金,实时系统中多采用基于优先级调度的策略。在该任务调度策略下,当多任务共享资源时容易出现优先级反转现象。此现象的出现不仅会降
避免饥饿的CAN总线高优先级反转算法.docx
LPC214X_ucosii使用信号量但是产生优先级反转
优先级翻转 嵌入式 信号量 优先级翻转 嵌入式 信号量
本文结合实际例子,对VxWorks中优先级反转问题进行了探讨,并对此类问题的解决方法进行了描述。本文的探讨将使嵌入式系统开发人员更深入了解优先级反转问题。优先级反转会造成任务调度的不确定性,严重时可能导致...
本文介绍了基于调度标识继承的μC/OS-II优先级反转解决方法
以实时操作系统μC/OS-II为例,分析了产生优先级反转的原因,提出了解决该问题的2种方法,即互斥信号量(Mutex)和实现时间片轮番调度法。在保证共享资源互斥访问的前提下,将优先级反转的发生有效地限制在一个层次上...
优先级反转是实时系统中出现最多的问题。为了防止这种现象的发生,目前经常采用的...容错技术是提高系统可靠性的重要保障,利用容错技术对优先级继承进行扩展,可以更好地解决优先级的反转问题,保障了系统的实时性能。
摘要:【目的】为了解决CAN总线中高优先级报文的发送请求总是阻止低优先级报文的发送请求,即CAN总线基于固定优先级的策略可能会导致的低优先级报文饥饿问题。【方法
如果多个任务访问共享资源时,可能会导致优先级的反转问题。对此给出了目前经常采用的两种解决此问题的方法。分析了它们可能存在的不足,重点分析了优先级继承,并对它作了进一步改进。通过测试证明,该方法行之有效...
摘要: 本文介绍了嵌入式系统任务调度...但在实际开发中,由于任务间资源共享,信号量及中断的引入,往往会出现高优先级任务被低优先级任务长时间阻塞或阻塞一段不确定时间的现象,即所谓优先级反转(Priority Inversio
研究了图像加密并行算法应该满足的要求,并提出了一个基于混沌映射的并行算法。理论分析和实验结果表明该算法适宜于并行计算环境。
描述解决线程优先级翻转的优先级继承协议实现
行业分类-设备装置-所连家庭的无线传感器网络中处理不同类型生活方式和生活安全业务的多态性和优先级反转.zip
摘要:【目的】为了解决CAN总线中高优先级报文的发送请求总是阻止低优先级报文的发送请求,即CAN总线基于固定优先级的策略可能会导致的低优先级报文饥饿问题。【方法
嵌入式实时系统中由于多任务共享资源,通常会出现一些奇怪的现象。本文就什么是优先级反转及其产生原因进行分析,并提出2个行之有效的解决方案。