打印

优先级倒置如何发生的?

[复制链接]
1336|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
加班加点|  楼主 | 2011-11-28 15:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
zheng522| | 2011-11-28 22:12 | 只看该作者
优先级倒置,又称优先级反转、优先级逆转、优先级翻转,是一种不希望发生的软件状态,在该种状态下一个,高优先级任务因为等待访问一个正在被低优先级使用的共享资源而被延迟。通常是因为该低优先级任务被一个较高优先级的任务所抢先(pre-empt),而无法及时地释放该共享资源。

在多数个案,发生优先级倒置并不导致直接伤害──高优先级任务的延迟运行不被察觉,最终,低优先级任务释放共享资源。虽然,亦存在很多情况优先级倒置会导致严重问题

使用特权

评论回复
板凳
zheng522| | 2011-11-28 22:13 | 只看该作者
概念在操作系统中,一般情况下(即,1:进程分优先级,高优先级进程需要执行时可打断现正在执行的低优先级进程;2:普通的临界资源使用方法,如果一个临界资源被获取了,则其它想要获取此资源的程序被阻塞,直到此资源被释放;3:....),有三个进程(其优先级从高到低分别为T1、T2、T3),有一个临界资源CS(T1与T3会用到)。这时,T3先执行,获取了临界资源CS。然后T2打断T3。接着T1打断T2,但由于CS已被T3获取,因此T1被阻塞,这样T2获得时间片。直到T2执行完毕后,T3接着执行,其释放CS后,T1才能获取CS并执行。这时,我们看T1与T2,虽然T1优先级比T2高,但实际上T2优先于T1执行。这称之为优先级逆转。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

610

帖子

1

粉丝