2009-09-15 102 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螺紋也, 例發生。