Watchdog Watchdog is a special [1]timer that serves as a safety mechanism for detecting malfunction of computer programs at [2]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 [3]interrupt or a [4]signal. This can mean for example that the program has become stuck in an [5]infinite loop or that its instructions were corrupted and the program control jumped to some unintended area of RAM and is doing crazy [6]shit. This is usually handled by resetting the system so as to prevent possible damage by the program gone insane, also [7]logs can be made etc. Watchdogs are very often used in [8]embedded systems. [9]Operating systems may also use them to detect nonresponsive [10]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 * [11]dog Links: 1. timer.md 2. run_time.md 3. interrupt.md 4. signal.md 5. infinite_loop.md 6. shit.md 7. log.md 8. embedded.md 9. os.md 10. process.md 11. dog.md