Watchdog timer

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Watchdog nebo Watchdog timer, zkráceně WDT (z angličtiny – „hlídací pes“) je počítačová periferie, která resetuje systém při jeho zaseknutí (deadlocku). K zaseknutí systému může dojít v důsledku chyby v hardware nebo software systému. Program (většinou v hlavní smyčce) periodicky signalizuje watchdogu svůj chod. To se může dít např. zápisem servisního impulsu do watchdogu, v případě některých jednočipových mikropočítačů také provedením speciální strojové instrukce. Pokud systém určitý čas nesignalizuje chod (typicky milisekundy až sekundy), pak watchdog způsobí reset systému.

Složitější watchdogy mohou navíc ještě zaznamenávat na nevolatilní (nezávislé na napájení tj. ukládání do energeticky nezávislé paměti) médium ladící informace (např. časy kdy došlo k zresetování systému a jaký byl obsah registrů). Nejčastější použití watchdogů je v zabudovaných systémech, kde jsou mnohdy součástí mikroprocesoru.

Watchdog se rovněž používá pro převedení systému do bezpečného stavu, např. pro vypnutí motorů, elektrických sběrnic s nebezpečným napětím a jiných potenciálně nebezpečných subsystémů. Jednou z možností je, že řídící jednotka při resetu pozná, že ji zresetoval watchdog, a místo normálního rozběhu pouze uvede systém do bezpečného nouzového stavu.

Watchdog může být realizován pomocí x-bitového čítače připojeného na hodinový signál s frekvencí y MHz. Pokud není čítač přiměřeně často resetován, dojde po uplynutí přetečením čítače  \frac{2^x}{y \cdot 10^6} sekund k resetu.

Účelem a současně důvodem existence watchdogu je přivést systém prostřednictvím resetu ze zaseknutého stavu zpět k normální funkci. Bez watchdogu by musel být čip resetován manuálně, což by u čipů v automatických strojích na odlehlých nebo špatně přístupných místech (např. meteorologické stanice, přístroje u rozvodů elektrického vedení) mohl být problém.

Související články[editovat | editovat zdroj]