cão de guarda Em resumo, watchdog é um mecanismo para garantir o funcionamento normal do sistema ou para sair de um ciclo morto, deadlock, etc.
Os watchdogs são divididos em watchdogs de hardware e watchdogs de software. O watchdog de hardware usa um circuito temporizador, a saída de temporização é conectada à extremidade de reset do circuito, e o programa limpa o temporizador dentro de um determinado intervalo de tempo (comumente conhecido como "alimentar o cachorro"), então, quando o programa está funcionando normalmente, o temporizador nunca pode transbordar, não conseguindo gerar um sinal de reset. Se o programa falhar e o watchdog não for resetado dentro do período do temporizador, o timer do watchdog transborda para gerar um sinal de reset e reiniciar o sistema. O princípio do watchdog de software é o mesmo, mas o temporizador no circuito de hardware é substituído pelo temporizador interno do processador, que pode simplificar o design do circuito de hardware, mas não é tão confiável quanto o temporizador de hardware, como a falha do próprio temporizador interno do sistema não pode ser detectada.
Existem dois tipos de watchdogs de software: soft dogs normais para detectar soft lockups (baseados em interrupções de clock) e NMI dogs para detectar hard lockups (baseados em interrupções NMI).
Nota 1: A prioridade de interrupção de clock é menor que a interrupção NMI Nota 2: Lockup refere-se a uma certa seção do código do kernel que ocupa a CPU. O bloqueio pode fazer com que todo o sistema fique sem resposta. Travamento suave e travamento rígido, a única diferença entre eles é que o travamento rígido ocorre quando o blindo da CPU é interrompido. ———————————————— Aviso de Direitos Autorais: Este artigo é um artigo original do blogueiro CSDN "Hober_yao", de acordo com o acordo de direitos autorais CC 4.0 BY-SA, por favor anexe o link da fonte original e esta declaração para reimpressão. Link original:https://blog.csdn.net/yhb1047818384/article/details/70833825 |