Dark Mode

Zum Inhalt springen

Watchdog

aus Wikipedia, der freien Enzyklopadie
Dieser Artikel erlautert ein Verfahren zur Uberwachung von Komponenten. Zur kostenlos zuganglichen Datenbank siehe DRG Watchdog, fur das Computerspiel siehe Watch Dogs.

Der Begriff Watchdog (englisch fur Wachhund; auch watchdog timer genannt) bezeichnet eine Funktion zur Ausfallerkennung eines digitalen Systems, vorwiegend in Steuerungsanwendungen. Wird dabei eine mogliche Fehlfunktion erkannt, so wird entweder dies gemass Systemvereinbarung an andere Komponenten signalisiert (z. B. Umschalten auf ein redundantes System), eine geeignete Sprunganweisung bzw. ein Reset zur selbsttatigen Behebung des Ausfalls eingeleitet, oder ein sicheres Abschalten veranlasst.

Einsatz in Elektrotechnik und Informatik

[Bearbeiten | Quelltext bearbeiten]

Watchdogs werden meist in von Mikrocontrollern gesteuerten elektrischen Geraten oder Maschinen eingesetzt, um einen Ausfall des Gerates durch Softwareversagen durch einen Reset zu beheben oder Gefahren in gestorten Sicherheitssystemen durch zwangsweises Abschalten zu vermeiden. Dazu teilen Software-Komponenten dem Watchdog als Lebenszeichen in vorgegebenen Abstanden mit, dass sie noch ordnungsgemass aufgerufen werden und funktionieren. Wichtig ist hier das Prinzip der Unabhangigkeit des Watchdogs von der Hardware des Mikrocontrollers, vor allem bei einem hoheren Gefahrdungsrisiko durch Fehlfunktion.

Allgemein ist das Gerat wahrend eines Neustarts (nach dem Reset) nicht zu Echtzeitreaktionen fahig und kann somit keine Daten verarbeiten bzw. auf Anfragen reagieren. In manchen Anwendungsfallen ist es zwingend erforderlich, dass die Steuerung nach einem Neustart den Programmablauf an der unterbrochenen Stelle fortsetzt, z. B. bei einer Waschmaschine. Interne Systemzustande und ggf. Systemdaten einer Ablaufsteuerung mussen so gesichert werden, dass sie fur den Neustart oder bei einem Stromausfall zur Verfugung stehen. Die Wiederherstellung eines vorher gespeicherten Zustands ist auch bei der Datenverarbeitung erforderlich zur Datenwiederherstellung, ggf. durch Rollback.

Hardware-Watchdog

[Bearbeiten | Quelltext bearbeiten]
Watchdog IC

Die Meldung zum Zurucksetzen des Hardware-Watchdog (d. h. das Triggern) erfolgt durch einfache Befehle oder das Schalten von binaren Ausgangen. Der Hardware-Watchdog kann in den Mikrocontroller integriert sein oder durch einen auf der Platine verbauten Mikroelektronik-Baustein realisiert sein.[1] Er arbeitet gewohnlich mit einem eigenen, vom Systemtakt des Prozessors unabhangigen Taktgenerator. Der Watchdog kann auch auf Basis analoger RC-Schaltungen implementiert werden.

Timeout-Watchdog

[Bearbeiten | Quelltext bearbeiten]

Beim Timeout-Watchdog (deutsch: ,,Erkennung von Zeituberschreitung") muss sich der Mikrocontroller vor Ablauf einer vorgegebenen Zeit beim Watchdog melden (vergleichbar mit dem Prinzip Totmanneinrichtung bei der Bahn). Im Fehlerfall wird ein Reset des Mikrocontrollers und eventuell einiger Peripheriebauteile ausgelost. Ist der Watchdog im Mikrocontroller integriert oder besitzt der Controller einen Eingang fur einen NMI, kann auch zusatzlich ein sogenannter Trap durch Interrupt ausgelost werden. Es ist anschliessend die Aufgabe des dem Trap zugeordneten Softwaremoduls, eine angepasste Reaktion durchzufuhren (z. B. abspeichern, dass es ein Watchdog-Problem gegeben hat, das System in den sicheren Zustand bringen und anschliessend einen teilweisen oder kompletten Neustart durchfuhren).

Fenster-Watchdog

[Bearbeiten | Quelltext bearbeiten]
Fenster-Watchdog

Beim Fenster-Watchdog muss sich der Mikrocontroller innerhalb eines vorgegebenen Zeitfensters beim Watchdog melden. Hierfur werden Zeitintervalle fur zu fruhe und zu spate Meldungen vorgegeben und die Meldung ist nur innerhalb des Zeitfensters erlaubt und erforderlich. Dies ist insbesondere dann sinnvoll, wenn ein digitaler Regler Regelkreise mit festen Abtastzeitpunkten ausfuhrt und bei abweichendem Verhalten Instabilitaten auftreten konnen. Die Reaktion bei ausbleibender Meldung entspricht der Reaktion beim Timeout-Watchdog.

Intelligenter Watchdog

[Bearbeiten | Quelltext bearbeiten]

Die Meldung zum Zurucksetzen des intelligenten Watchdog erfolgt nicht mehr durch Auslosen eines einfachen Befehls oder Triggersignals, sondern durch komplexe Befehle oder komplexe Antworten. Hierbei mussen dynamische Berechnungen ausgefuhrt und ggf. Fragen zur Authentisierung korrekt beantwortet werden (siehe Challenge-Response-Authentifizierung). Damit konnen hohere Sicherheitsanforderungsstufen erreicht werden und das Risiko von unerkannten Fehlfunktionen reduziert werden.

Eine vergleichsweise einfache Implementierung dieser Intelligenz ist der PRBS-Watchdog.[2] Hierbei generiert ein vom Mikrocontroller unabhangiges Schieberegister durch Ruckkopplung eine PRBS-Folge von deterministischen Zufallszahlen. Der Mikrocontroller muss die gleiche Zahlenfolge berechnen und kann hierzu komplexe Befehlsfolgen mit internen Registern und Speicherzellen verwenden, um den nachsten Schlussel zum Triggern des externen Watchdog zu berechnen. Die Befehlsfolge kann uber den gesamten Programmablauf verteilt sein und bei geschickter Wahl der Rechenoperationen konnen die CPU-internen Module (ALU, Programmspeicher, Arbeitsspeicher und Register) mit einem kontinuierlichen Selbsttest uberwacht werden.[3]

Im Automobilbereich gelten hohe Anforderungen fur die Steuerung des Antriebs (Motor und Getriebe), der Lenkung, der Bremsen und der Assistenzsysteme. Sie mussen fehlertolerant reagieren und das Gesamtsystem - unabhangig von einem fehlerhaften Mikrocontroller - in einen sicheren Zustand bringen. Beispiel: Das Drei-Ebenen-Konzept mit intelligentem Watchdog beim Elektronischen Gaspedal (E-Gas) im Auto.[4] In sehr kritischen Anwendungen sind mehrkanalige redundante Systeme mit fehlertolerantem Verhalten notwendig, die aus identischen oder diversitaren Komponenten aufgebaut sind.[5]

Software-Watchdog

[Bearbeiten | Quelltext bearbeiten]

Der Software-Watchdog ist eine prufende Software im Mikrocontroller. Das Watchdog-Software-Modul kontrolliert, ob alle wichtigen Programm-Module in einem vorgegebenen Zeitrahmen korrekt ausgefuhrt werden oder ob ein Modul unzulassig lange fur die Bearbeitung benotigt. 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 uberwacht werden.

Verfugt ein Mikrocontroller nicht uber einen speziellen Watchdog-Schaltkreis, kann der Software-Interrupt eines normalen Timers dazu verwendet werden, sofern der Systemtakt nicht im Energiesparmodus deaktiviert ist. Eine solche Timeout-Uberwachung kann durch einen Zahler realisiert werden, der in regelmassigen Abstanden von der Software auf einen bestimmten Wert gesetzt wird. Dieser Zahler wird durch den Systemtakt des Mikrocontrollers standig dekrementiert und liefert beim Erreichen von Null ein internes Ausfallsignal. Solche einfachen integrierten Watchdogschaltungen sind jedoch nicht fur hoherwertige Sicherheitsanforderungen ausreichend.

In verteilten Rechnersystemen oder Netzwerken kann eine gegenseitige Uberwachung implementiert werden, z. B. durch Uberwachen von Zeituberschreitungen im Antwortverhalten der Aufgabenverteilung oder der Kommunikation (siehe Timeout (Netzwerktechnik)). Das Intelligente Plattform-Managementsystem spezifiziert als IPMI-Standard eine Schnittstelle zwischen Rechner und Watchdog, so dass man fur Standard-Server-Hauptplatinen keine weitere Hardware benotigt.

Weitere Verwendung

[Bearbeiten | Quelltext bearbeiten]

Mittlerweile wird der Begriff auch sinnverwandt in anderen Zusammenhangen benutzt, etwa im Diskurs um investigativen Journalismus als Watch Dog im Sinne einer ,,Vierten Gewalt" oder in der Debatte um verantwortungsvolle Regierungsfuhrung und die Korrektivfunktion einer vitalen Zivilgesellschaft.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. | Niall Murphy: Watchdog Timers. 1. November 2000, abgerufen am 29. August 2019 (englisch).
  2. | Alfred Schmidt, Rainer Faller, Wolfram Pottig: Redundante sichere Regelung des elektronisch spurgefuhrten Busses. Tagung Elektronik im Kraftfahrzeug in Baden-Baden. In: VDI-Berichte. Nr. 515. VDI-Verlag, 23. Marz 1984, S. 117-123.
  3. | Walter Kuntz, D. Ruppert: Intelligente, wortorientierte Watchdog-Schaltung. Sicherheit durch "sich gegenseitig uberwachende" Schaltwege. In: Elektronik. Nr. 11/1990, 25. Mai 1990, S. 92-94 (basierend auf Patent DE3225712C2 vom 11. April 1984, Erfinder Wolfram Pottig und Alfred Schmidt).
  4. | M. Baumeister, P. Fuhrmann, R. Mariani: Ein einkanaliger, ausfallsicherer Mikrocontroller zur Vereinfachung von SIL3 Architekturen im Fahrzeug. (PDF; 208 kB; englisch)
  5. | Alfred Schmidt, Rainer Faller, Wolfram Pottig: Elektronisch gelenkter Bus. Paradebeispiel fur fehlertolerante Regelung. In: Elektronik. Band 15/1984. Franzis-Verlag, 27. Juli 1984, S. 41-46.