非常有人生哲理小漫画:优先级反转

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 12:30:41

2008-11-20 09:25:19|  分类: 优先级|字号 订阅

优先级反转

定义:高优先级任务需要等待低优先级任务释放资源,而低优先级任务又正在等待中等优先级任务的现象叫做优先级反转。 此时高优先级任务和中等优先级任务之间没有任何共享资源但执行顺序却发生了倒置,这种情况称为优先级反转,而高优先级任务因为等待低优先级任务释放资源而阻塞的情况则不称为优先级反转

两种经典的防止反转的方法:

优先级继承策略(Priority    inheritance):继承现有被阻塞任务的最高优先级作为其优先级,任务退出临界区,恢复初始优先级。   在上述例子中体现为当高优先级任务需要等待低优先级任务释放资源而阻塞时,就将低优先级任务的优先级升为高优先级任务的优先级,当它退出临界区后就将其优先级恢复为初始优先级

优先级天花板策略(Priority    ceilings): 优先级天花板是指将申请(占有)某资源的任务的优先级提升到可能访问该资源的所有任务中最高优先级任务的优先级.(这个优先级称为该资源的优先级天花板)   。在上述例子中体现为当低优先级任务申请占有某资源时就将这个低优先级任务的优先级升为能访问该资源的所有任务中最高优先级任务的优先级。    

优先级继承策略对任务执行流程的影响相对较小,因为只有当高优先级任务申请已被低优先级任务占有的临界资源这一事实发生时,才抬升低优先级任务的优先级。而天花板策略是谁占有就直接升到最高。