Unixtopia

main/ artigos/

Watchdog

É um timer especial que serve como um mecanismo de segurança para detectar mau funcionamento de programas de computador em tempo de execução, exigindo que os programas reiniciem o timer periodicamente. O watchdog continua contando e um programa que se comporta corretamente deve reiniciar periodicamente essa contagem. Se a reinicialização não acontecer por um período maior, o watchdog conta até um valor alto e alerta que algo está errado, com uma interrupção ou um sinal. Isso pode significar que o programa ficou preso em um loop infinito ou que suas instruções foram corrompidas e o controle do programa pulou para alguma área não intencional da RAM e tá fazendo uma merda maluca.

Isso geralmente é resolvido reiniciando o sistema para evitar possíveis danos pelo programa enlouquecido. Também podem ser feitos logs. Os watchdogs são muito usados em sistemas embarcados. Os sistemas operacionais também podem usá-los para detectar processos que não respondem. O watchdog é semelhante ao interruptor do homem morto usado em trens, onde o operador precisa apertar um botão periodicamente, caso contrário, o trem ativará os freios automaticamente, pois o operador provavelmente está dormindo ou morto.