例如:有優先權為A、B和C三個任務,優先權A>B>C,任務A,B處於掛起狀態,等待某一事件發生,任務C正在運行,此時任務C開始使用某一共享資源S。在使用中,任務A等待事件到來,任務A轉為就緒態,因為它比任務C優先權高,所以立即執行。當任務A要使用共享資源S時,由於其正在被任務C使用,因此任務A被掛起,任務C開始運行。如果此時任務B等待事件到來,則任務B轉為就緒態。由於任務B優先權比任務C高,因此任務B開始運行,直到其運行完畢,任務C才開始運行。直到任務C釋放共享資源S後,任務A才得以執行。在這種情況下,優先權發生了翻轉,任務B先於任務A運行。
解決優先權翻轉問題有優先權天花板(priority ceiling)和優先權繼承(priority inheritance)兩種辦法。
優先權天花板是當任務申請某資源時, 把該任務的優先權提升到可訪問這個資源的所有任務中的最高優先權, 這個優先權稱為該資源的優先權天花板。這種方法簡單易行, 不必進行複雜的判斷, 不管任務是否阻塞了高優先權任務的運行, 只要任務訪問共享資源都會提升任務的優先權。
優先權繼承是當任務A 申請共享資源S 時, 如果S正在被任務C 使用,通過比較任務C 與自身的優先權,如發現任務C 的優先權小於自身的優先權, 則將任務C的優先權提升到自身的優先權, 任務C 釋放資源S 後,再恢復任務C 的原優先權。這種方法只在占有資源的低優先權任務阻塞了高優先權任務時才動態的改變任務的優先權,如果過程較複雜, 則需要進行判斷。
相關詞條
-
優先權倒置
優先權倒置,又稱優先權反轉、優先權逆轉、優先權翻轉,是一種不希望發生的任務調度狀態,發生優先權倒置並不導致直接傷害──高優先權任務的延遲運行不被察覺,最...
簡介: 舉例: -
優先權繼承
優先權繼承是實時計算中去除優先權翻轉的一種方法。進程調度算法對獲取到臨界資源的進程(A)增加其優先權為所有等待該資源的進程中的最高優先權。 一旦進程(A...
例子 作用 -
STC12C2052AD頭檔案
); /* 中斷優先權擴展暫存器,用於定義擴展中斷源的優先權... _at( 0xB8 ); /* 通用中斷源的優先權定義暫存器...
-
位階倒置
跑在一個高優先權的任務之前,產生了‘位階倒置’,也叫優先權翻轉... 在系統任務調度的優先權模型中,一個高優先權的任務只能被一個更高優先權的任務所搶占。 場景: 有一個優先權較低的任務L,它需要用到...
-
WisMencoder
,支持字幕*支持壓縮的優先權*利用已經設定好的配置檔案輕鬆為PDA等移動設備...
基本信息 軟體介紹 軟體特點 軟體信息 軟體更新 -
STC12C5A.H
說明STC12C5A_H是STC12C5A單片機的頭檔案,主要用於定義代碼編輯需要用到的各種串口等,方便代碼的書寫和規範。檔案內...
說明 檔案內容 -
狼人之夜
此詞條暫無內容,歡迎您參與編輯,享受分享貢獻知識的樂趣。建議您在編輯詞條之前,可先參考幫助中心文檔,了解更多關於詞條規範的信息...
簡介 遊戲介紹 遊戲背景 遊戲玩法 遊戲數據 -
星杯傳說
配件數量(第二版)基礎牌150張角色卡25張角色擴展卡11張角色專屬卡4張治療卡23張星石卡23張陣營卡6張星杯卡9張黃色指示物...
配件數量(第二版) 卡牌的種類和作用 遊戲規則 傷害 角色 -
忍者村[奇矩公司開發的電腦遊戲]
裝修界面,左鍵點擊建築設施或裝飾,出現功能操作圖示,分別是移動,翻轉,賣出...
遊戲人物 遊戲介紹 故事背景 基本玩法 常見問題