Hauptmenü öffnen

Der Begriff Watchdog (englisch für Wachhund; auch WDC für Watchdog Counter genannt) wird verallgemeinert für eine Komponente eines Systems verwendet, die die Funktion anderer Komponenten überwacht. Wird dabei eine mögliche Fehlfunktion erkannt, so wird entweder dies gemäß Systemvereinbarung signalisiert oder eine geeignete Sprunganweisung eingeleitet, die das anstehende Problem bereinigt. Das Signal oder die Sprunganweisungen dienen unmittel- oder mittelbar als Auslöser für andere kooperierende Systemkomponenten, die das Problem lösen sollen.

Inhaltsverzeichnis

Einsatz in Elektrotechnik und InformatikBearbeiten

Insbesondere werden Watchdogs in von Mikrocontrollern gesteuerten elektrischen Geräten eingesetzt, um einem Totalausfall des Gerätes durch Softwareversagen zuvorzukommen. Verhindert wird der Reset eines automatischen Mikrocomputersystems, indem die Software in regelmäßigen Abständen dem Watchdog mitteilt, dass sie noch ordnungsgemäß arbeitet.

Alternativ kann das Gleiche auch durch einen Zähler realisiert werden, der in regelmäßigen Abständen von der Software auf einen bestimmten Wert gesetzt wird. Dieser Zähler wird hardwareseitig ständig dekrementiert; erreicht er Null, so konnte ihn das laufende Programm nicht rechtzeitig erhöhen, und ist wahrscheinlich „hängengeblieben“ oder ausgefallen. Der Watchdog setzt daraufhin das Gerät in den definierten Ausgangszustand zurück (Reset), damit das von der Software gesteuerte System wieder überwacht ordnungsgemäß arbeiten kann.

Das Intelligente Plattform-Managementsystem spezifiziert als IPMI-Standard eine Schnittstelle zwischen Rechner und Watchdog, so dass man für Standard-Server-Hauptplatinen keine weitere Hardware benötigt.

Allgemein ist das Gerät während eines Neustarts (nach dem Reset) nicht zu Echtzeitreaktionen fähig und kann somit keine Daten verarbeiten bzw. auf Anfragen reagieren.

Hardware-WatchdogBearbeiten

Der Hardware-Watchdog ist in den Mikrocontroller integriert oder ein auf der Platine verbauter Mikroelektronik-Baustein oder eine externe Mikroelektronikkomponente mit Kommunikation zum Mikrocontroller.[1] Er arbeitet gewöhnlich mit einem eigenen, vom Systemtakt des Prozessors unabhängigen Taktgenerator.

Time-Out-WatchdogBearbeiten

Beim Time-Out-Watchdog (deutsch: „Zeitüberschreitung“) muss sich der Mikrocontroller vor Ablauf einer vorgegebenen Zeit beim Watchdog melden (Prinzip Totmanneinrichtung bei der Bahn). Im Fehlerfall wird ein Reset des Mikrocontrollers und eventuell einiger Peripheriebauteile ausgelöst. Ist der Watchdog im Mikrocontroller integriert oder besitzt der Controller einen Eingang für einen NMI, kann auch zusätzlich ein sogenannter Trap (= Interrupt) ausgelöst werden. Es ist anschließend die Aufgabe des dem Trap zugeordneten Softwaremoduls, eine angepasste Reaktion durchzuführen (z. B. abspeichern, dass es ein Watchdog-Problem gegeben hat, das System in den sicheren Zustand bringen und anschließend einen teilweisen oder kompletten Neustart durchführen).

Verfügt ein Mikrocontroller nicht über einen speziellen Watchdog-Schaltkreis, kann auch der Software-Interrupt eines normalen Timers dazu verwendet werden, sofern der Systemtakt nicht in Energiesparmodi deaktiviert ist.

Fenster-WatchdogBearbeiten

Beim Fenster-Watchdog muss sich der Mikrocontroller innerhalb eines vorgegebenen Zeitfensters beim Watchdog melden. Hierfür werden zwei Zeitintervalle spezifiziert und die Differenz bildet das Zeitfenster, es kann also zwischen zu frühen und ausbleibenden Meldungen unterschieden werden. Die Reaktion bei ausbleibender Meldung entspricht der Reaktion beim Time-Out-Watchdog.

Intelligenter WatchdogBearbeiten

Beim intelligenten Watchdog muss der Mikrocontroller eine vom externen Watchdog-Baustein gestellte Frage korrekt beantworten; das Verfahren wird daher auch als Challenge-Response-Konzept bezeichnet.

Im Fehlerfall wird nicht nur ein Reset des Mikrocontrollers erzeugt, sondern der Watchdog bringt meist auch das Gesamtsystem – unabhängig von dem anscheinend unkontrolliert laufenden Mikrocontroller – in einen sicheren Zustand. Beispiel: Das Drei-Ebenen-Konzept mit intelligentem Watchdog beim Elektronischen Gaspedal (E-Gas) im Auto.[2] Bei geschickter Wahl der durch die Fragen ausgelösten Rechenoperationen können die CPU-internen Module (ALU, Programmspeicher, Arbeitsspeicher und Register) überwacht werden.

Software-WatchdogBearbeiten

Der Software-Watchdog ist eine prüfende Software im Mikrocontroller. Das Watchdog-Software-Modul kontrolliert, ob alle wichtigen Programm-Module in einem vorgegebenen Zeitrahmen korrekt ausgeführt werden oder ob ein Modul unzulässig lange für die Bearbeitung benötigt. Dieses muss nicht unbedingt durch eine fehlerhafte Abarbeitung verursacht sein, sondern kann auch durch einen Deadlock (Verklemmung) hervorgerufen werden. Der Software-Watchdog kann seinerseits von einem Hardware-Watchdog überwacht werden.

Weitere VerwendungBearbeiten

Mittlerweile wird der Begriff auch sinnverwandt in anderen Zusammenhängen benutzt, etwa im Diskurs um investigativen Journalismus als Watch Dog im Sinne einer „vierten Gewalt“ oder in der Debatte um verantwortungsvolle Regierungsführung und die Korrektivfunktion einer vitalen Zivilgesellschaft.

EinzelnachweiseBearbeiten