嵌入式與韌體
在搶先式(preemptive)RTOS中,執行優先順序較低的工作時,優先順序較高的工作收到了等待的資料而成為可執行狀態。一般會發生什麼事?
- A高優先順序的工作要等到低優先順序的工作自行結束
- B兩個工作都停止,微控制器重新啟動
- C中途停止低優先順序的工作,立即切換到高優先順序的工作
查看答案與解析
正確答案:C. 中途停止低優先順序的工作,立即切換到高優先順序的工作
在搶先式RTOS中,當中斷等原因使優先順序較高的工作成為可執行狀態,核心會儲存並停止執行中的低優先順序工作狀態,切換到高優先順序的工作。高優先順序的工作結束或進入等待狀態後,低優先順序的工作會從中斷處繼續執行。因此能縮短高優先順序處理的回應時間,並使其容易預測。
- A. 那是協作式(非搶先式)的切換。
- B. 不會重新啟動。
- C. 正確。這就是搶先(preemption)。