watchdog Kort sagt er watchdog en mekanisme for å sikre normal drift av systemet eller for å komme ut av en død sløyfe, deadlock, osv.
Vaktbikkjer deles inn i maskinvare-vaktbikkjer og programvare-vaktbikkjer. Maskinvarevakthunden bruker en timerkrets, tidsutgangen kobles til reset-enden av kretsen, og programmet tømmer timeren innenfor et visst tidsområde (vanligvis kjent som «feeding the dog»), slik at når programmet fungerer normalt, kan timeren aldri renne over, og kan derfor ikke generere et reset-signal. Hvis programmet feiler og vakthunden ikke blir tilbakestilt innenfor timerperioden, flyter vakthundens timer over for å generere et tilbakestillingssignal og starte systemet på nytt. Prinsippet for programvareovervåkeren er det samme, men timeren på maskinvarekretsen erstattes med prosessorens interne timer, noe som kan forenkle maskinvarekretsdesignet, men det er ikke like pålitelig som maskinvaretimeren, for eksempel kan ikke systemets interne timer oppdages.
Det finnes to typer programvareovervåkningsbunder: vanlige myke hunder for å oppdage myke låsinger (basert på klokkeavbrudd), og NMI-hunder for å oppdage harde låsinger (basert på NMI-avbrudd).
Merknad 1: Klokkeavbruddsprioriteten er lavere enn NMI-avbruddet Notat 2: Lockup refererer til en bestemt del av kjernekoden som opptar CPU-en. Låsing kan føre til at hele systemet blir uresponsivt. Myk lockup og hard lockup, den eneste forskjellen mellom dem er at hard lockup skjer når CPU-skjoldet blir avbrutt. ———————————————— Opphavsrettsmerknad: Denne artikkelen er en original artikkel av CSDN-bloggeren "Hober_yao", i samsvar med CC 4.0 BY-SA opphavsrettsavtalen, vennligst legg ved den opprinnelige kildelenken og denne uttalelsen for gjenutgivelse. Original lenke:https://blog.csdn.net/yhb1047818384/article/details/70833825 |