сторожевой пес Короче говоря, watchdog — это механизм, обеспечивающий нормальную работу системы или выход из мёртвого контура, тупика и т.д.
Сторожевые собаки делятся на аппаратных и программных сторожев. Аппаратный наблюдатель использует цепь таймера, выход таймера подключается к концу сброса, и программа очищает таймер в определённом временном промежутке (обычно называемом «питание собаки»), поэтому когда программа работает нормально, таймер никогда не может переполниться и не может генерировать сигнал сброса. Если программа не работает и watchdog не сбросается в течение таймерного периода, таймер watchdog переполняется, генерируя сигнал сброса и перезапуска системы. Принцип программного наблюдателя остался тем же, но таймер на аппаратной схеме заменён внутренним таймером процессора, что может упростить конструкцию аппаратной схемы, но он менее надёжен, чем аппаратный таймер, например, отказ самого внутреннего таймера системы не может быть обнаружен.
Существует два типа программных наблюдателей: обычные мягкие собаки для обнаружения мягких блокировок (на основе тактовых прерываний) и собаки NMI для обнаружения жёстких блокировок (на основе прерываний NMI).
Примечание 1: Приоритет тактового прерывания меньше прерывания NMI Примечание 2: Блокировка — это определённая часть кода ядра, занимающая процессор. Блокировка может привести к тому, что вся система станет неотзывчивой. Мягкая блокировка и жёсткая блокировка — единственное отличие в том, что жёсткая блокировка возникает при прерывании экрана CPU. ———————————————— Уведомление об авторском праве: Эта статья является оригинальной статьёй блогера CSDN «Hober_yao», в соответствии с соглашением об авторском праве CC 4.0 BY-SA, пожалуйста, приложите оригинальную ссылку и это заявление для повторной публикации. Оригинальная ссылка:https://blog.csdn.net/yhb1047818384/article/details/70833825 |