watchdog Kort sagt er watchdog en mekanisme til at sikre systemets normale drift eller for at forlade en død sløjfe, dødlås osv.
Vagthunde opdeles i hardware-vagthunde og software-vagthunde. Hardware-vagthunden bruger et timerkredsløb, timingudgangen er forbundet til reset-enden af kredsløbet, og programmet fjerner timeren inden for et bestemt tidsområde (almindeligvis kendt som "feeding the dog"), så når programmet fungerer normalt, kan timeren aldrig løbe over, og den kan derfor ikke generere et reset-signal. Hvis programmet fejler, og watchdoggen ikke nulstilles inden for timerperioden, flyder watchdog-timeren over for at generere et reset-signal og genstarte systemet. Princippet for softwareovervågningen er det samme, men timeren på hardwarekredsløbet erstattes af processorens interne timer, hvilket kan forenkle hardwarekredsløbets design, men den er ikke lige så pålidelig som hardwaretimeren, for eksempel kan fejl i systemets interne timer ikke opdages.
Der findes to typer software-watchdogs: normale soft dogs til at opdage soft lockups (baseret på clock-interrupts) og NMI-dogs til at opdage hard lockups (baseret på NMI-interrupts).
Note 1: Clock-interrupt-prioriteten er lavere end NMI-interruptet Note 2: Lockup refererer til en bestemt sektion af kernekoden, der optager CPU'en. Låsning kan få hele systemet til at blive uresponsivt. Blød låsning og hård låsning, den eneste forskel mellem dem er, at hård låsning sker, når CPU-skjoldet bliver afbrudt. ———————————————— Ophavsretsmeddelelse: Denne artikel er en original artikel af CSDN-bloggeren "Hober_yao", i overensstemmelse med CC 4.0 BY-SA ophavsretsaftalen, vedhæft venligst det originale kildelink og denne erklæring til genoptryk. Originalt link:https://blog.csdn.net/yhb1047818384/article/details/70833825 |