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