Watchdog

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel erläutert ein Verfahren zur Überwachung von Komponenten; zur kostenlos zugänglichen Datenbank siehe DRG Watchdog.

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.

Einsatz in Elektrotechnik und Informatik[Bearbeiten]

Im Speziellen werden Watchdogs in von Mikrocontrollern gesteuerten elektrischen Geräten eingesetzt, um einem Komplettausfall 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 0, so hat es die Software nicht geschafft, ihn rechtzeitig zu erhöhen und ist wahrscheinlich "hängengeblieben" oder ausgefallen. Der Watchdog setzt daraufhin das Gerät durch Rücksetzen (Reset) in den definierten Ausgangszustand zurück, 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-Mainboards 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.

Watchdogs werden in verschiedenen funktionalen Ausführungen verwendet:

Hardware-Watchdog[Bearbeiten]

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]

Time-Out-Watchdog[Bearbeiten]

Beim Time-Out-Watchdog 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, 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.

Fenster-Watchdog[Bearbeiten]

Beim Fenster-Watchdog muss sich der Mikrocontroller innerhalb eines vorgegebenen Zeitfensters beim – meist externen – Watchdog melden. Die Reaktion bei ausbleibender Meldung entspricht der Reaktion beim Time-Out-Watchdog.

Intelligenter Watchdog[Bearbeiten]

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 3-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-Watchdog[Bearbeiten]

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 Verwendung[Bearbeiten]

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

Einzelnachweise[Bearbeiten]

  1. Niall Murphy: Watchdog Timers (engl.)
  2. Dr. M. Baumeister, Dipl.-Ing. P. Fuhrmann, Philips, Aachen; Dr. R. Mariani, Yogitech, Pisa: "Ein einkanaliger, ausfallsicherer Mikrocontroller zur Vereinfachung von SIL3 Architekturen im Fahrzeug" (englisch; PDF; 208 kB)