zasilania) oraz zabezpiecza w przypadku błędów, które mogą wystąpić przed załadowaniem systemu. Czasami oba rozwiązania stosuje się jednocześnie łącząc ich zalety – programowy jako podstawowy oraz sprzętowy dla reakcji na błędy niewykryte przez ten pierwszy.
Działanie watchdoga polega na umieszczeniu w systemie funkcji ustawiającej licznik na pewną wartość początkową. Z upływem czasu, mierzonego przez niezależny od procesora zegar, wartość tego licznika zmienia się – przeważnie maleje. Jeśli osiągnie pewną wartość, zwykle jest nią 0, następuje wspomniane zresetowanie procesora, wygenerowanie odpowiedniego przerwania lub wykonanie innej ustalonej wcześniej akcji. Jednym z założeń poprawnej pracy systemu z watchdogiem jest ustawianie co pewien czas wartości licznika na wartość początkową. Ta funkcja jest zaprojektowana tak, by wykonywać się w interwałach krótszych niż czas wyzerowania licznika. Jeśli program przestanie działać poprawnie – np. wpadnie w nieskończoną pętlę lub ulegnie zakleszczeniu i nie będzie ustawiał licznika na nowo – można założyć, że restart systemu jest uzasadniony, a nawet niezbędny dla dalszej jego dostępności.