Watchdog timer
Un conto alla rovescia hardware che riavvia il sistema se il software smette di dimostrare di essere vivo.
Il firmware deve scrivere in un registro a intervalli regolari — "accarezzare" o "calciare" il cane — prima che il contatore arrivi a zero. Se il programma resta intrappolato in un ciclo infinito, in un deadlock o in una tempesta di interrupt, il segnale non arriva e il watchdog attiva la linea di reset. Per un dispositivo installato dentro un contatore elettrico o in cima a una montagna, un riavvio in due secondi è spesso la miglior gestione degli errori disponibile.
L'errore classico è azzerare il watchdog da un interrupt di timer: l'interrupt continua a scattare molto dopo che il ciclo principale è morto, e il watchdog diventa un ornamento. I progetti migliori lo azzerano solo dopo che ogni task si è fatto vivo, e i watchdog a finestra scattano anche quando il segnale arriva troppo presto — indizio che il programma ha saltato qualcosa.