• 联系我们
  • 地址:湖北武汉三环科技园
  • 电话:159116031100
  • 传真:027-68834628
  • 邮箱:mmheng@foxmail.com
  • 当前所在位置:首页 - 嵌入式
  • 嵌入式实时系统中的优先级反转问题
  • 重庆中考论坛zslpsh,重庆学校zslpsh,重庆学校zslpsh,重庆市中学生网,重庆中学生网,重庆中学生网站,重庆中学生网好,重庆中学生学习网,重庆中学学习网,重庆中学生网家教,重庆中学生论坛,重庆学生zslpsh,重庆高考论坛zslpsh,重庆中学排名zslpsh,重庆中学zslpsh,重庆中学生,重庆学生网中考,重庆中考zslpsh,重庆中学生交友,重庆初中生,重庆中学生学习网,重庆土话网,西南云南方言网,最新电影淘娱淘乐,tianyanmao.cn,重庆18680好,岳阳yy房产网,重庆18680,云南西南方言网,网店taoyutaole,电影淘娱淘乐,最新电影淘娱淘乐,电影淘娱淘乐,娱乐资讯taoyutaole,影视淘娱淘乐,taoyutaole笑话,taoyutaole淘娱淘乐,娱乐taoyutaole,时尚taoyutaole,重庆生活新闻,贵州西南方言网,027旅游新闻网,重庆特产18680,0871昆明旅游人才网,重庆生活18680好,观赏虾之家zadull,022天津交友,022天津交友网,水草造景zadull,18680重庆特产,0755深圳交友网,0755深圳旅游招聘,0755深圳旅游招聘网,0755深圳旅游新闻

      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采用了一种称作