aus Wikipedia, der freien Enzyklopädie
|
Dieser Artikel erläutert ein Verfahren zur Überwachung von Komponenten; zur kostenlos zugänglichen Datenbank siehe DRG Watchdog. |
Der Begriff Watchdog (englisch; Wachhund) wird verallgemeinert für eine Komponente eines Systems verwendet, die die Funktion anderer Komponenten überwacht. Wird dabei eine mögliche Fehlfunktionen erkannt, so wird dies entweder gemäß Systemvereinbarung signalisiert oder geeignete Sprunganweisungen eingeleitet, die das anstehende Problem bereinigen. Das Signal oder die Sprunganweisungen dienen un- oder mittelbar als Auslöser für andere kooperierende Systemkomponenten, die das Problem lösen sollen.
[Bearbeiten] Einsatz in der Elektrotechnik/Informatik
Im Speziellen werden Watchdogs in Mikrocontroller-gesteuerten elektrischen Geräten eingesetzt, um einem Komplettausfall des Gerätes durch Softwareversagen zuvorzukommen. Verhindert wird der Ausfall 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 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:
- Der Hardware-Watchdog ist in den Mikrocontroller integriert oder ein auf der Platine verbauter Mikroelektronik-Baustein oder eine externe Mikroelektronikkomponente mit Kommunikation zum Mikrocontroller:
- 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).
- Beim Fenster-Watchdog muss sich der Mikrocontroller innerhalb eines vorgegebenen Zeitfensters beim - meist externen - Watchdog melden. Reaktion siehe Time-Out-Watchdog.
- Beim intelligenten Watchdog muss der Mikrocontroller eine vom externen Watchdog Baustein gestellte Frage korrekt beantworten. 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. Bei geschickter Wahl der durch die Fragen ausgelösten Rechenoperationen können die CPU-internen Module (ALU, Programmspeicher, Arbeitsspeicher und Register) überwacht werden.
- 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.