Watchdog

   Watchdog is a special [1]timer that serves as a safety mechanism for
   detecting malfunction of [2]computer programs at [3]run time by requiring
   programs to periodically reset the timer.

   Basically watchdog keeps counting up and a correctly behaving program is
   supposed to periodically reset this count ("kick" or "feed the dog") -- if
   the reset doesn't happen for a longer period, the watchdog counts up to a
   high value and alerts that something's wrong ("the dog starts barking"),
   e.g. with an [4]interrupt or a [5]signal. This can mean for example that
   the program has become stuck in an [6]infinite loop or that its
   instructions were corrupted and the program control jumped to some
   unintended area of RAM and is doing crazy [7]shit. This is usually handled
   by resetting the system so as to prevent possible damage by the program
   gone insane, also [8]logs can be made etc. Watchdogs are very often used
   in [9]embedded systems. [10]Operating systems may also use them to detect
   nonresponsive [11]processes.

   Watchdog is similar to the dead man's switch used e.g. in trains where the
   operator is required to periodically push a button otherwise the train
   will automatically activate brakes as the operator is probably sleeping or
   dead.

See Also

     * [12]dog

Links:
1. timer.md
2. computer.md
3. run_time.md
4. interrupt.md
5. signal.md
6. infinite_loop.md
7. shit.md
8. log.md
9. embedded.md
10. os.md
11. process.md
12. dog.md