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.