Watchdog — один из самых простых и одновременно самых недооценённых механизмов надёжности. По сути это таймер, который ожидает регулярного подтверждения от программы. Если подтверждения нет — система автоматически перезагружается. Звучит элементарно. Но именно вокруг watchdog чаще всего возникает внутреннее сопротивление команды. Его отключают на этапе разработки, «чтобы не мешал», откладывают внедрение «на потом» или включают формально — просто чтобы стояла галочка в чек-листе. Причина проста: watchdog неудобен. Он не сглаживает проблемы — он делает их видимыми. Любая программная система рано или поздно сталкивается с зависаниями. Даже если код написан аккуратно, всегда остаются факторы, которые невозможно полностью исключить: Без watchdog зависшая система может оставаться в этом состоянии бесконечно долго. В лаборатории это не страшно — можно нажать reset. В реальной эксплуатации это означает простой оборудования, выезд сервисной службы или потерю данных. Watchdog не предотвращает за