嵌入式與韌體
關於RTOS中發生的優先順序反轉,下列說明何者正確?
- A在高優先順序的工作等待低優先順序的工作所持有的資源期間,中優先順序的工作中止低優先順序的工作並持續執行,使高優先順序的工作被迫長時間等待
- B工作的優先順序數值被解讀成與設定相反的錯誤
- C優先順序高的工作一定比低優先順序的工作更後執行的規定
查看答案與解析
正確答案:A. 在高優先順序的工作等待低優先順序的工作所持有的資源期間,中優先順序的工作中止低優先順序的工作並持續執行,使高優先順序的工作被迫長時間等待
當低優先順序的工作持有互斥鎖時,高優先順序的工作要等待它,就必須等到低優先順序的工作釋放。此時若與資源無關的中優先順序工作開始執行,低優先順序的工作會被中止而無法釋放資源,結果高優先順序的工作反而被中優先順序的工作拖延。1997年的火星探測器火星探路者(Mars Pathfinder)就因此而反覆發生系統重置。
- A. 正確。1997年的火星探測器也曾發生此問題。
- B. 並不是指數值解讀錯誤。
- C. 並沒有這樣的規定。