PCB抄板专家世纪芯官方网站——PCB抄板网!   
  首页  公司介绍  资讯中心  案例展示  服务推荐  常见问题  联系我们  
24小时客服热线: +86-0755-83035861
PCB抄板资料站
世纪芯寻找疑难项目隆重启幕
世纪芯芯片解密取得重大突破
世纪芯PCB抄板服务流程
世纪芯保证PCB抄板100%准确
资讯中心
关于嵌入式实时系统中的优先级反转问题研究

关于嵌入式实时系统中的优先级反转问题研究

http://www.pcbcb.com    2009年09月22日10:19  PCB抄板网    我要咨询
k3释放task1需要信号量时,系统立即把task3优先权降到原来高度,来保证task1和task2正常有序执行。整个情况如图2所示。目前,有许多RTOS是采用这种方法来防止优先级反转,如大家比较熟悉业界有名WindRiver公司VXWORKS。
  PCbfans.cn提示请看下图:

                  
  在优先权极限方案中,系统把每一个临界资源与1个极限优先权相联系。这个极限优先权等于系统此时最高优先权加1。当1个任务进入临界区时,系统便把这个极限优先权传递给这个任务,使得这个任务优先权最高;当这个任务退出临界区后,系统立即把它优先权恢复正常,从而保证系统不会出现优先权反转情况。如上例中,当task3进入临界区时,立即把它优先权升高到极限优先权,保证task3此时能尽快退出临界区,进而释放其占有信号量。当高优先级任务task1执行时候就不会出现其等待低优先级任务task3释放信号量而被阻塞情况,从而保证不会出现上面所说优先级反转。采用这种方案另一个有利之处,是仅仅通过改变某个临界资源优先级就可以使多个任务共享这个临界资源,如下所示。
  void TaskA(void){
  ...
  SetTaskPriority(RES_X_PRIO);
  // 访问共享资源 X.
  SetTaskPriority(TASK_A_PRIO);
  ...
  }
  以上就RTOS中优先级反转问题出现原因以及解决方法进行了详细说明。21世纪将是嵌入式系统时代。从事嵌入式系统设计人员深入了解RTOS原理和内部潜在问题,如优先级反转等,将有助于开发出更加可靠产品。

关于我们 ┊ about shijixin ┊ 服务项目 ┊ 成功案例 ┊ 常见问题 ┊ 合作伙伴 ┊ 联系我们 ┊ 加入我们 
Copyright © 1998 - 2009 www.pcbcb.com. All Rights Reserved
PCB抄板资料站--国内最专业的PCB抄板信息综合门户!
联系地址:深圳市福田区国际科技大厦2603单元 联系电话:0755-83035861/62/63 Design By :www.pcbcb.com