嵌入式與韌體

關於RTOS中發生的優先順序反轉,下列說明何者正確?

  1. A在高優先順序的工作等待低優先順序的工作所持有的資源期間,中優先順序的工作中止低優先順序的工作並持續執行,使高優先順序的工作被迫長時間等待
  2. B工作的優先順序數值被解讀成與設定相反的錯誤
  3. C優先順序高的工作一定比低優先順序的工作更後執行的規定
查看答案與解析

正確答案:A. 在高優先順序的工作等待低優先順序的工作所持有的資源期間,中優先順序的工作中止低優先順序的工作並持續執行,使高優先順序的工作被迫長時間等待

當低優先順序的工作持有互斥鎖時,高優先順序的工作要等待它,就必須等到低優先順序的工作釋放。此時若與資源無關的中優先順序工作開始執行,低優先順序的工作會被中止而無法釋放資源,結果高優先順序的工作反而被中優先順序的工作拖延。1997年的火星探測器火星探路者(Mars Pathfinder)就因此而反覆發生系統重置。

  • A. 正確。1997年的火星探測器也曾發生此問題。
  • B. 並不是指數值解讀錯誤。
  • C. 並沒有這樣的規定。
練習這個領域 前往領域頁面

嵌入式與韌體的其他題目

  1. 用來防止優先順序反轉的「優先順序繼承」,其概念下列何者正確?
  2. 在RTOS中,從讀取感測器的工作傳遞資料給負責顯示的工作時,使用佇列(訊息佇列)的優點,下列何者正確?
  3. 關於硬即時(hard real-time)與軟即時(soft real-time)的差異,下列何者正確?
  4. 在每1 ms一次的計時器中斷處理常式中,無條件地重設看門狗計時器(餵狗)並不好,其原因下列何者正確?
  5. 關於嵌入式裝置的開機載入程式(bootloader)的作用,下列何者正確?

這個領域的比較