Watchdog Timer
- It is an electronic or software timer to detect or recover from any hardware/software faults.
- It is commonly used in embedded systems or any other computer-controlled equipment where human cannot easily access the equipment or would be unable to react to faults in a timely manner.
- In such systems, it cannot rely on human to take some actions or reboot the system when it hangs, but it should be self-reliant.
- ex: space probe which is a robotic spacecraft that explores further into outer space
- ex: robots and other automonous machines - a fault in controller could cause damange on the equipment before human reacts.
- Watchdog timer is also used to monitor and limit execution time on a normally functional computer. For example, it can be used when running untrusted code in a sandbox(untrusted program) to limit CPU time available to the code so as to prevent some time of DOS(Denial of Service) attacks.
- In RTOS(Real-time Operating System), it can be used to monitor a time-critical task to complete within its maximum alloted time, and if it fails to do so, to terminate the task and report the failure.