A Importância de um Cão de Guarda (Watchdog).


17 maio, 2013

Imagem cão de guarda muito bravo...

Não! Isso não é um blog relacionado com animais, ou coisas ligadas a eles. É sim um blog voltado a tudo aquilo que envolve a tecnologia. Bem, mas o que tem a ver um cão de guarda com a tecnologia?
Essa é a tradução para um dos recursos que a maioria dos dispositivos embarcados possui - um “Watchdog”. Em português, a tradução literal para Watchdog é a citada no título do nosso post de hoje, cão de guarda!

O que é um Watchdog?



Para entendermos o que é Watchdog, podemos fazer uma analogia com um cão de guarda.

Em uma residência, o cão de guarda tem a principal função de ficar atento, observando e vigiando qualquer anormalidade que possa ameaçar a segurança de sua residência.  Essas anormalidades podem ser relacionadas com algum tipo de ação inesperada, assalto, ou até mesmo alguém que sem sua autorização invada a sua casa. Quando o cão sente que a sua segurança está em risco, ele começa a ficar irritado (leia-se bravo), vindo a latir e podendo até mesmo morder quem ameaça a sua segurança.


Da mesma forma, o Watchdog em um sistema embarcado tem por função proteger o sistema com respeito a qualquer travamento ocasional que venha a ocorrer. Esse travamento pode ser causado pela ocorrência de uma condição inesperada no programa, por um bug ainda não encontrado no sistema ou até mesmo por falhas de hardware. Quando ocorre um travamento, o Watchdog provoca uma reinicialização no sistema, ajudando o mesmo a voltar a funcionar.


Podemos voltar assim para a analogia com um cão de guarda. Imagine que o cão de guarda esteja correndo atrás de você. O que você terá de fazer para ele não te alcançar?

1º -  Ser mais rápido do que ele:

O Watchdog possui uma propriedade que é o "Watchdog timer". É um contador do tempo necessário para gerar um Watchdog. Assim, o tempo para que o processador execute a rotina e volte para o loop principal do programa deverá ser mais rápido que o tempo configurado no Watchdog timer. Portanto, o programador deve ajustar o Watchdog timer com o tempo necessário para executar a rotina e voltar para o loop principal do programa.


2º - Alimentar o cão impedindo que ele te alcance:

No loop principal do programa deve ter um comando que chamamos de “reset de Watchdog”. É um comando que reinicia o Watchdog timer, impedindo de ocorrer um Watchdog.


Assim como um cão de guarda ajuda na segurança e proteção de uma residência, o Watchdog ajuda a garantir o reestabelecimento do sistema na ocorrência de algum bug ou falha inesperada. O Watchdog, diminui a perspectiva de que o utilizador do sistema tenha de ir até o equipamento para realizar um reset necessário por causa de um travamento, seja ele por causa de hardware ou firmware. Além disso, muitos dispositivos embarcados não podem ficar travados ou sem funcionar por muito tempo. O Watchdog se responsabiliza por causar o reestabelecimento do sistema devido a alguma ocorrência inesperada do sistema. Praticamente todos os dispositivos embarcados contam com um Watchdog.

Nenhum comentário:

Postar um comentário

Gostou do texto? Expresse aqui a sua opinião.