監控 wwnr¶
名稱:wwrn - 未執行時喚醒
型別:每任務確定性自動機
作者:Daniel Bristot de Oliveira <bristot@kernel.org>
描述¶
這是一個每任務取樣監控器,定義如下
|
|
v
wakeup +-------------+
+--------- | |
| | not_running |
+--------> | | <+
+-------------+ |
| |
| switch_in | switch_out
v |
+-------------+ |
| running | -+
+-------------+
該模型存在缺陷,原因是任務可以在處理器上執行,而無需將其設定為 RUNNABLE 狀態。想象一下一個即將休眠的任務
1: set_current_state(TASK_UNINTERRUPTIBLE);
2: schedule();
然後想象一箇中斷(IRQ)發生在第一行和第二行之間,喚醒了任務。砰,喚醒將在任務執行時發生。
那麼,我們為什麼需要這個模型呢?
為了測試反應器。
規範¶
Grapviz Dot 檔案位於 tools/verification/models/wwnr.dot