vakthund Kort sagt är watchdog en mekanism för att säkerställa systemets normala funktion eller för att lämna en dead loop, deadlock, etc.
Vakthundar delas in i hårdvaruvakthundar och mjukvaruvakthundar. Hårdvaruvakten använder en timerkrets, tidtagningsutgången är ansluten till reset-delen av kretsen, och programmet rensar timern inom ett visst tidsintervall (vanligt kallat "feeding the dog"), så när programmet fungerar normalt kan timern aldrig översvämma och därmed inte generera en återställningssignal. Om programmet misslyckas och watchdogen inte återställs inom timerperioden, överfylls watchdog-timern för att generera en återställningssignal och starta om systemet. Principen för mjukvaruvakthunden är densamma, men timern på hårdvarukretsen ersätts med processorns interna timer, vilket kan förenkla hårdvarukretsdesignen, men den är inte lika pålitlig som hårdvarutimern, till exempel kan systemets interna timer inte upptäckas.
Det finns två typer av mjukvaruvakthundar, vanliga mjuka hundar för att upptäcka mjuka låsningar (baserat på klockavbrott) och NMI-hundar för att upptäcka hårda låsningar (baserade på NMI-avbrott).
Not 1: Klockavbrottsprioriteten är lägre än NMI-avbrottet Not 2: Lockup avser en viss del av kärnkoden som upptar CPU:n. Låsning kan göra att hela systemet blir oresponsivt. Soft lockup och hard lockup, den enda skillnaden mellan dem är att hard lockup sker när CPU-skyddet avbryts. ———————————————— Upphovsrättsmeddelande: Denna artikel är en originalartikel av CSDN-bloggaren "Hober_yao", i enlighet med CC 4.0 BY-SA upphovsrättsavtal, vänligen bifoga länken till originalkällan och detta uttalande för återutgivning. Originallänk:https://blog.csdn.net/yhb1047818384/article/details/70833825 |