2009-09-15 114 views
0

需要多少任务才能进行优先级反转?根据我的理解,我们至少需要3个.....或者我们可以只用2个任务吗?优先级反转

我其实经历了一本书:Andrew Tanenbaum的现代操作系统。我知道,只有当有些模式中出现3个任务时,你才会知道......优先级倒置可能发生..但是,我发现这本书说只有两个任务1-低和1-高可以导致相同。 .so我很困惑...

+0

请您提供一点更多的背景。 – 2009-09-15 10:59:09

+0

我认为他意味着与此有关; http://en.wikipedia.org/wiki/Priority_inversion – Kirschstein 2009-09-15 11:01:27

+0

当且仅当持有资源的任务的执行速度可能因其低优先级而受到影响时,可能会出现两个任务的问题*,即使它是唯一未被阻止的系统任务*。例如,一些处理器具有低功耗模式,不能以最高速度运行,但每个指令的能耗较低。如果操作系统是给CPU切换到这样的“低速/低功率”模式,同时运行低优先级的任务(一个明智的做法,从节能的角度来看),可能只有两个真正的任务,甚至会出现优先级反转。 – supercat 2012-05-15 15:29:36

回答

4

您需要一个高优先级的任务,它等待低优先级任务持有的资源,而中等优先级的任务正在运行。

所以是的,你需要三个。

海格优先级的任务在等待其保持螺旋锁有效地通过较高的优先级一个禁止的任务抢占一个低优先级的任务 - :

0

优先级反转可以与2螺纹也, 例发生。