最近のほとんどのPCハードウェアには、ウォッチドッグタイマー機能が含まれています。これらの詳細については、ウィキペディアでご覧いただけます:ウォッチドッグタイマー。また、Linuxカーネルのドキュメントから:
抜粋-https ://www.kernel.org/doc/Documentation/watchdog/watchdog-api.txt
ウォッチドッグタイマー(WDT)は、ソフトウェア障害が発生した場合にコンピューターシステムをリセットできるハードウェア回路です。あなたはおそらくすでにそれを知っていました。
通常、ユーザースペースデーモンは、/ dev / watchdog特殊デバイスファイルを介して、カーネルウォッチドッグドライバーにユーザースペースがまだ生きていることを定期的に通知します。そのような通知が発生すると、ドライバーは通常、ハードウェアウォッチドッグにすべてが正常であることを通知し、ウォッチドッグはシステムをリセットするためにさらにもう少し待つ必要があることを通知します。ユーザー空間が失敗した場合(RAMエラー、カーネルバグなど)、通知は発生しなくなり、タイムアウトが発生した後、ハードウェアウォッチドッグがシステムをリセットします(再起動が発生します)。
LinuxウォッチドッグAPIは、その場しのぎの構造であり、さまざまなドライバーが、さまざまな、場合によっては互換性のない、その一部を実装しています。このファイルは、既存の使用法を文書化し、将来のドライバー作成者がそれを参照として使用できるようにする試みです。
Linuxでハードウェアウォッチドッグをリフレッシュしているのは、このSO Q&A です。、Linuxカーネルとハードウェアウォッチドッグタイマー間のリンケージについて説明します。
ウォッチドッグパッケージについてはどうですか?
RPMの記述は、これをかなり明確にしています、IMO。watchdog
デーモンは、いずれかのソフトウェアウォッチドッグとして機能できるか、ハードウェア実装と対話することができます。
RPMの説明からの抜粋
ウォッチドッグプログラムは、強力なソフトウェアウォッチドッグデーモンとして使用できます。または、常駐のベースボード管理コントローラー(BMC)へのIPMIハードウェアウォッチドッグドライバーインターフェイスなどのハードウェアウォッチドッグデバイスと共に使用することもできます。ウォッチドッグは定期的に/ dev / watchdogに書き込みます。/ dev / watchdogへの書き込みの間隔は、watchdog sysconfigファイルの設定で構成できます。
この構成ファイルは、ウォッチドッグをデフォルトのソフトウェアウォッチドッグ操作の代わりにハードウェアウォッチドッグとして使用するように設定するためにも使用されます。どちらの場合も、デバイスが開いているが、構成された時間内に書き込まれない場合、ウォッチドッグタイマーの期限が切れると、マシンが再起動します。ソフトウェアウォッチドッグとして動作している場合、再起動できるかどうかはマシンの状態と割り込みに依存します。
ハードウェアウォッチドッグとして動作している場合、マシンはBMCによって開始されるハードリセット(またはウォッチドッグタイマーの期限切れ時に実行されるように構成されたアクション)を経験します。