Пазител Накратко, watchdog е механизъм, който осигурява нормалната работа на системата или за излизане от мъртва верига, задънена блокировка и др.
Watchdogs се разделят на хардуерни и софтуерни watchdogs. Хардуерният наблюдател използва схема за таймер, изходът за тайминг е свързан към края на схемата за нулиране, а програмата изчиства таймера в определен времеви диапазон (известен като "хранене на кучето"), така че когато програмата работи нормално, таймерът никога не може да препълни и не може да генерира сигнал за нулиране. Ако програмата се провали и watchdog не бъде нулиран в рамките на таймерния период, таймерът на watchdog прелива, за да генерира сигнал за нулиране и рестартиране на системата. Принципът на софтуерния наблюдател е същият, но таймерът на хардуерната схема е заменен с вътрешния таймер на процесора, което може да опрости дизайна на хардуерната схема, но не е толкова надежден, колкото хардуерния таймер, като например повредата на вътрешния таймер на системата не може да бъде открита.
Съществуват два типа софтуерни watchdogs: обикновени soft dogs за откриване на меки заключвания (базирани на часови прекъсвания) и NMI кучета за откриване на твърди заключвания (базирани на NMI прекъсвания).
Бележка 1: Приоритетът на тактовото прекъсване е по-малък от този на NMI прекъсването Бележка 2: Заключването се отнася до определена част от кода на ядрото, която заема процесора. Заключването може да доведе до неотзивчива цялата система. Soft lockup и hard lockup, единствената разлика между тях е, че hard lockup се случва, когато екранът на процесора е прекъснат. ———————————————— Уведомление за авторски права: Тази статия е оригинална статия от блогъра на CSDN "Hober_yao", в съответствие с авторското споразумение CC 4.0 BY-SA, моля, прикачете оригиналния източник и това изявление за преиздаване. Оригинален линк:https://blog.csdn.net/yhb1047818384/article/details/70833825 |