湿疹什么样子| 太阳为什么会发光发热| 2004年出生属什么| 里脊肉是什么肉| 月经期体重增加是什么原因| 肾病可以吃什么水果| 什么东西越生气越大| 脂血是什么意思| 古天乐属什么生肖| 天地始交是什么意思| 建设性意见是什么意思| 奢靡是什么意思| 中心性肥胖什么意思| 倒走对身体有什么好处| 哆啦a梦的口袋叫什么| 阴道壁是什么样的| 鹅蛋不能和什么一起吃| 阅字五行属什么| 调岗是什么意思| 籍贯填写什么| 梦见炒菜是什么意思| 奄奄一息的息是什么意思| 风湿类风湿有什么症状表现| 总打哈欠是什么原因| 尧五行属什么| 什么动物吃草| 屈服是什么意思| 液氮是什么| 肠胃不好吃什么水果好| 汉族是什么人种| 知了在树上干什么| tax是什么意思| 澳门什么时候回归| 包的部首是什么| 郝字五行属什么| 平均血红蛋白浓度偏低是什么意思| 经信局是干什么的| 枯草热是什么病| 治疗呼吸道感染用什么药最好| 9月1号什么星座| 常温保存是什么意思| 蛇字五行属什么| 属虎的本命佛是什么佛| 每天喝酸奶有什么好处和坏处| 重庆为什么叫重庆| 植脂末是什么| 下午五点到七点是什么时辰| 五服是什么意思| 旅游带什么| mfg什么意思| 什么人容易长智齿| 什么是英语自然拼读| 坐骨神经疼有什么症状| 奔三是什么意思| 百福图挂在家里什么位置好| 阴囊湿疹用什么药| 官官相护是什么意思| 瞎子吃核桃砸了手是什么生肖| 勇敢的生肖是什么生肖| 自身免疫性疾病是什么意思| 高血糖是什么原因引起的| 骨骼惊奇什么意思| 失眠挂什么科| ru是什么意思| 什么叫有个性的人| 2016年属什么生肖| 女人左眼皮跳是什么预兆| 鱼腥草长什么样| 孕妇胃疼可以吃什么药| 78岁属什么生肖| 过敏源挂什么科| 心梗吃什么药效果好| 蓝颜知己是什么意思| 寅时是什么时间| 微量元素检查挂什么科| 世界上最可怕的动物是什么| 10月4号是什么星座| 哮喘病应该注意什么| 聚聚什么意思| 阿尔山在内蒙古什么地方| 无名指和食指一样长代表什么| 儿童干咳吃什么药| 牛仔外套搭配什么裤子好看| 结肠多发息肉是什么意思| 黎明是什么时间| 检查鼻炎要做什么检查| 什么是辐射| 血糖高有什么危害| 什么是熬夜| 乙肝五项一五阳性什么意思| 老天爷叫什么名字| 人脱水了会有什么表现| 支气管挂什么科| 甲沟炎去医院挂什么科| 气虚血瘀吃什么中成药| 双源ct主要检查什么| 初秋的天冰冷的夜是什么歌| 鸭肉和什么不能一起吃| 乙肝有抗体是显示什么结果| 长期便秘吃什么药| 1945年属什么| 什么鱼蛋白质含量高| 感光食物是什么意思| 男人左手麻木什么原因| 佞臣是什么意思| 吃了虾不能吃什么水果| 刚出生的小鱼苗吃什么| 嗜睡是什么原因| 腿肿脚肿是什么原因引起的| 豌豆什么时候种最好| 玉是什么结构的字| 吉兰巴雷综合征是什么病| 感叹号像什么| 牛属相和什么属相配| 卡哇伊内是什么意思| 最高的山是什么山| 苹果手机用的什么系统| 社会是什么| 左边小腹痛什么原因女| 鳕鱼是什么鱼| 气血是什么| 什么叫动脉硬化| tmd是什么意思| 肌肉萎缩吃什么药| 梦见老公回来了是什么征兆| 吃什么药可以自杀| 5月6日是什么星座| 莲花与荷花有什么区别| 根茎叶属于什么器官| 油压是什么意思| 低密度脂蛋白偏高什么意思| 心脏造影是什么检查| 康熙的儿子叫什么| 咳嗽吃什么食物好得最快最有效| 近视和远视有什么区别| 撒西不理是什么意思| 轻微食物中毒吃什么药| 杏林是什么意思| 腰椎间盘突出什么症状| 拉肚子什么原因造成的| 保和丸有什么功效| 入职体检挂什么科| 拘谨是什么意思| 哥伦比亚牌子什么档次| 小白兔是什么意思| 眼皮水肿是什么原因引起的| 小孩不说话什么原因| 智齿为什么会发炎| 色弱是什么意思| mia是什么意思| 为什么吃火龙果会拉肚子| 什么病不能吃山药| 紧急避孕药有什么副作用| 夜宵吃什么| 血稠是什么原因引起的| 一个虫一个尧念什么| 春回大地是什么生肖| 什么样的春光| 什么得什么的| 农历六月十七是什么星座| 反酸吃什么马上能缓解| 测脸型适合什么发型| 产妇适合吃什么水果| 为什么头出汗特别多| 睡多了头疼是什么原因| 膝盖后面叫什么| 全身皮肤瘙痒是什么原因| 什么样的糯米| 张国立老婆叫什么名字| 男属蛇和什么属相最配| 什么是植物神经功能紊乱| 失眠吃什么水果| 风调雨顺的下联是什么| 尿胆红素高是什么原因| 做梦梦见考试是什么意思| 乙肝有什么明显的症状| 鼻子出汗多是什么原因| 夜莺是什么鸟| 面包用什么面粉| 伤官是什么意思| 脑委缩有什么症状| 酉什么意思| 义父什么意思| 什么鱼吃泥鳅| 备孕是什么意思| 梦见西红柿什么意思| 梦见摘瓜是什么意思啊| 技校是什么| 优思明是什么药| 右手心痒是什么预兆| 盥洗室什么意思| 什么叫银屑病| 胆汁反流是什么原因引起的| 葫芦五行属什么| 飞刃是什么意思| 金色葡萄球菌最怕什么| 纵容是什么意思| 牛奶可以做什么美食| 吐血拉血是什么病的症状| 什么品牌的书包质量好| 青蒜是什么| 下午3点到5点是什么时辰| 总爱放屁是什么原因| 525什么星座| cashmere是什么面料| 买房要看什么| 为什么越睡越困越疲惫| 眼压高用什么药| 什么是便秘| 县公安局长什么级别| 什么啊| 红薯叶不能和什么一起吃| 熠熠什么意思| 中午十二点是什么时辰| 原教旨主义是什么意思| 7.6什么星座| 为什么不建议做融合手术| 灰指甲用什么药效果好| 低钠有什么症状和危害| 亲密是什么意思| 什么叫稽留流产| 胆小如鼠的意思是什么| 卵巢保养最好的方法是什么| 资生堂属于什么档次| 吃什么可以补黄体酮| 降钙素原高说明什么| 梦见自己相亲是什么意思| 入睡困难吃什么中成药| 甲鱼吃什么东西| 53年属什么生肖| 虐恋是什么意思啊| 分明的意思是什么| 纳征是什么意思| 婴儿吃不饱有什么危害| 11月份什么星座| 孩子发烧肚子疼是什么原因| 悦人不如悦己什么意思| 11月16是什么星座| 狗肉不能和什么食物一起吃| 蛇蛋长什么样子| 塔克是什么食物| 银河是什么| 一什么书桌| 中国国鸟是什么鸟| 玄武岩属于什么岩石| funfair是什么意思| 干燥综合征挂什么科| 瘴气是什么意思| 惊悉是什么意思| 什么叫唐氏综合症| 胃反酸吃什么| 吃什么补头发| 脑供血不足做什么检查能查出来| 六月份适合种什么菜| r值是什么意思| 结婚五周年是什么婚| 社会抚养费是什么意思| 涌泉穴在什么位置| 经常头晕是什么原因引起的| 氨基酸有什么作用| 花裤子配什么上衣| 糖宝是什么意思| 连铁是什么器官| 尉姓氏读什么的| 百度

新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式实时系统中的优先级反转问题

科学家发现第三种磁性:或是量子计算又一突破

作者: 时间:2025-08-04 来源:网络 收藏
摘要:中由于多任务共享资源,通常会出现一些奇怪的现象。本文就什么是及其产生原因进行分析,并提出2个行之有效的解决方案。百度 明确激励、保障和利益分配机制,鼓励和支持到贫困地区创新创业3月20日,记者从省委外宣办召开的新闻发布会上获悉,《贵州省支持事业单位专业技术人员助力脱贫攻坚三年行动计划(2018—2020)》已正式出台,鼓励全省各级各类事业单位的专业技术人员到脱贫攻坚一线建功立业、贡献聪明才智。

关键词: 多任务 信号量

1 的提出

  目前,市场上占有率比较高的商业RTOS有VxWorks/PSOS、QNX、 LynxOS、VRTX,、Windows CE等。这些为数众多的RTOS绝大多数都是多任务微内核的结构,采用的是基于级的可抢占式调度策略。为每一个任务分配一个优先权,调度程序保证当前运行的进程是优先权最高的进程。但是,有时候会出现一种比较奇怪的现象:由于多进程共享资源,具有最高优先权的进程被低优先级进程阻塞,反而使具有中优先级的进程先于高优先级的进程执行,导致系统的崩溃。这就是所谓的优先级(Priority Inversion)。

2 优先级反转

  RTOS普遍具有2个特点:实时性和多任务。实时是指系统的响应时间必须在规定的时间内,超出这个时间限制将会使系统出现致命的错误;同时,实时性还要求对时间要求非常急迫的任务要先于对时间不是很紧急的任务执行。正是由于这2个原因,RTOS的进程调度普遍采用的是基于优先级的可抢占式PBP(Priority Based Preemptive)的调度策略。多任务是系统的内在要求。如今的嵌入式系统普遍要求具有多任务并发执行的能力,因此RTOS中也必须提供多任务并发执行的支持。由于多任务并发,必然会导致多个任务共享资源。如有2个任务task1和task2并发执行,都需要向打印机输出结果。由于只有1台打印机,所以在某个时间段内只能有1个任务,如task1占有打印机并向打印机输出,而这时另一个任务task2处于等待状态。当task1输出完毕后,task2由等待转为就绪,当RTOS再次调度它时,方可占有打印机向打印机输出。试想如果不采取这种方式,不对打印机这种共享资源加以控制,而让task1和task2同时向打印机输出,这时候打印机打印的结果谁也看不懂,是一堆乱七八糟的东西。因此,大多数的RTOS采用了一种称作信号量(semaphore)的机制来实现对共享资源的管理。任何一个想使用临界资源(如打印机等共享资源)的进程在进入临界区(如task1或task2中访问临界资源的代码)之前必须拥有使用临界资源的信号量,否则不可以执行临界区代码。假设系统中有3个任务,分别为task1、task2和task3。task1的优先权高于task2,而task2的优先权高于task3。恰在此时task1和task2 因某种原因被阻塞,这时候系统调度task3执行。task3执行一段时间后,task1被唤醒。由于采取的是PBP的调度策略,因此task1抢占task3的CPU, task1执行。task1执行一段时间后要进入临界区,但此时task3占有此临界资源的信号量。因此task1被阻塞,处于等待状态,等待task3释放此信号量。经过这么一段时间后,task2此时此刻处于就绪状态。因此系统调度task2执行。如果task3在task2的执行期间一直没有能够被调度执行的话,那task1和task3将一直等到task2执行完后才能执行,task1更要等到task3释放它所把持的信号量才能执行;而这段时间完全有可能超出task1的Deadline,使得task1崩溃。当系统看到有高优先级的任务崩溃时候,系统认为此时有重大事故发生,为了挽救系统,看门狗电路起作用,系统可能被自动复位。从上面的分析可以看到,导致系统崩溃的原因是由于优先级高的任务task1要获取被低优先级任务task2占有的临界资源而被task2阻塞,而具有中优先级的任务task2抢占task3的CPU,从而导致task2先于task1执行。这时候系统便出现了优先级反转的情况,如图1所示。

3 优先级反转的解决方法

  目前解决优先级反转有许多种方法。其中普遍使用的有2种方法:一种被称作优先级继承(priority inheritance);另一种被称作优先级极限(priority ceilings)。

  在优先级继承方案中,当高优先级任务在等待低优先级的任务占有的信号量时,让低优先级任务继承高优先级任务的优先级,即把低优先级任务的优先权提高到高优先级任务的优先级;当低优先级任务释放高优先级任务等待的信号量时,立即把其优先权降低到原来的优先权。采用这种方法可以有效地解决上面所述的优先权反转的。当高优先级任务task1想要进入临界区时,由于低优先级任务task3占有这个临界资源的信号量,导致task1被阻塞。这时候,系统把task3的优先权升到task1的优先权,此时优先权处于task1和task3之间的任务task2,即使处于就绪状态也不可以被调度执行,因为此时task3的优先权已经高于task2,所以task3此时被调度执行。当task3释放task1需要的信号量时,系统立即把task3的优先权降到原来的高度,来保证task1和task2正常有序执行。整个情况如图2所示。目前,有许多RTOS是采用这种方法来防止优先级反转的,如大家比较熟悉的业界有名的WindRiver公司的VXWORKS。

  在优先权极限方案中,系统把每一个临界资源与1个极限优先权相联系。这个极限优先权等于系统此时最高优先权加1。当1个任务进入临界区时,系统便把这个极限优先权传递给这个任务,使得这个任务的优先权最高;当这个任务退出临界区后,系统立即把它的优先权恢复正常,从而保证系统不会出现优先权反转的情况。如上例中,当task3进入临界区时,立即把它的优先权升高到极限优先权,保证task3此时能尽快退出临界区,进而释放其占有的信号量。当高优先级任务task1执行的时候就不会出现其等待低优先级任务task3释放信号量而被阻塞的情况,从而保证不会出现上面所说的优先级反转。采用这种方案的另一个有利之处,是仅仅通过改变某个临界资源的优先级就可以使多个任务共享这个临界资源,如下所示。

void TaskA(void){

...

SetTaskPriority(RES_X_PRIO);

// 访问共享资源 X.

SetTaskPriority(TASK_A_PRIO);

...

}

  以上就RTOS中优先级反转出现的原因以及解决方法进行了详细的说明。21世纪将是嵌入式系统的时代。从事嵌入式系统设计的人员深入了解RTOS的原理和内部潜在的问题,如优先级反转等,将有助于开发出更加可靠的产品。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭
希特勒为什么恨犹太人 高中什么时候分文理科 什么是汗疱疹 老放屁是什么病的征兆 桂圆和龙眼有什么区别
舌苔发白什么原因 为什么突然对鸡蛋过敏 维生素c什么时候吃效果最好 米醋和白醋有什么区别 吃什么水果能降血压
根是什么生肖 查甲亢挂什么科 额头长闭口是什么原因 白舌苔很厚是什么病症 馥是什么意思
一失足成千古恨是什么意思 偶尔耳鸣是什么原因 孕妇便秘吃什么水果 美人尖是什么 xl是什么码
腰的左侧疼是什么原因hcv8jop3ns1r.cn 血脂高会导致什么后果hcv8jop1ns3r.cn 里正相当于现在什么官hcv8jop0ns4r.cn 善待是什么意思hcv8jop1ns5r.cn 肠溶片和缓释片有什么区别hcv8jop1ns9r.cn
什么情况吃通宣理肺丸hcv8jop9ns2r.cn 梦见死人复活什么预兆hcv7jop5ns4r.cn 举不胜举的举是什么意思hcv8jop6ns5r.cn 象牙带身上有什么好处hcv8jop9ns0r.cn 儿童腮腺炎吃什么药hcv9jop6ns7r.cn
孕妇吃什么hcv8jop4ns9r.cn 钢笔刻字刻什么好hcv9jop8ns1r.cn 陈醋和蜂蜜一起喝有什么好处hcv8jop1ns6r.cn 大血小板比率偏高是什么原因hcv9jop0ns4r.cn 感同身受什么意思jingluanji.com
nt是什么意思hcv8jop8ns3r.cn 宫颈纳囊多发是什么意思hcv9jop3ns8r.cn 亚健康是什么意思hcv9jop8ns2r.cn 阴虱用什么药可以根除hcv8jop8ns9r.cn 今年气温为什么这么高onlinewuye.com
百度