ウォッチドッグタイマとは?うぉっちどっぐたいま
ウォッチドッグタイマとは、あらかじめ決めた時間内にソフトウェアからのクリア(キック)が届かなければ、リセットや割込みといった安全側の処理を起動するタイマ。暴走・無限ループ・デッドロックのように、ソフトウェア自身では検知しようのない停止から自動的に復旧させるための最後の砦になる。
最終更新:2026-10-06
エンベデッドSPを最短で暗記・合格する →背景
ソフトウェアによる異常検知は、その検知コードが動いていることが前提になる。暴走した先で検知処理ごと飛ばされてしまえば、どんな例外処理も働かない。そこで「動いている限りは定期的に信号を出させ、途絶えたら外側のハードウェアが処置する」と向きを反転させる。無人で長期間動く機器や、止まったままでは危険な機器では復旧を人の介在に頼れないため、この仕掛けが安全設計の前提になる。
具体例
各タスクが自分の周期を回りきったことをフラグで申告し、監視タスクは全タスクぶんのフラグが揃ったときにだけWDTをクリアする。こうすれば1つのタスクだけが止まった場合も検出できる。ウィンドウ型WDTなら「早すぎるクリア」も異常として扱えるので、暴走したコードがたまたまクリアを連打してしまう状況まで弾ける。
試験での引っ掛け
割込みハンドラや単純な周期処理から無条件にクリアしていると、アプリケーションが止まっていてもWDTは満足してしまい、監視の意味を失う。クリアは「全部動いている」ことの結論として1か所から出す。またリセットで復旧させる設計は、再起動を繰り返す状態に落ちても外からは動いて見えるので、リセット回数を不揮発領域へ残し、既定回数を超えたら安全停止へ倒すところまで決めておく。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。