嵌入式與韌體
用來防止優先順序反轉的「優先順序繼承」,其概念下列何者正確?
- A把高優先順序工作的優先順序降到與低優先順序工作相同
- B把所有工作的優先順序設為相同
- C暫時把持有資源的低優先順序工作的優先順序,提高到與等待該資源的高優先順序工作相同的高度
查看答案與解析
正確答案:C. 暫時把持有資源的低優先順序工作的優先順序,提高到與等待該資源的高優先順序工作相同的高度
在優先順序繼承中,當高優先順序的工作開始等待低優先順序工作所持有的互斥鎖時,暫時把低優先順序工作的優先順序提升到與高優先順序工作相同。如此一來就不會被中優先順序的工作搶先,得以繼續處理,並在釋放資源的時間點恢復原本的優先順序。高優先順序工作的等待時間,就只剩下低優先順序工作使用資源的短暫時間。許多RTOS的互斥鎖都具備此功能。
- A. 會使高優先順序工作的回應更加延遲。
- B. 優先順序就失去意義了。
- C. 正確。不會被中優先順序的工作中斷,能提早釋放資源。