Recovering from Operating System Errors
Francis M. David, Roy H. Campbell · Illinois Digital Environment for Access to Learning and Scholarship (University of Illinois at Urbana-Champaign) · 2007
User applications and data in volatile memory are usually lost when an operating system crashes because of errors caused by either hardware or software faults. This is because most operating systems are designed to stop operation when some internal errors are detected irrespective of the possibility that user data and applications might still be intact and recoverable. Techniques like exception handling, code reloading, operating system component isolation, micro-rebooting, automatic system service restarts and watchdog timer based recovery can be combined together to attempt recovery of an operating system from a wide variety of errors. Initial experiments show that it is possible to continue running user applications after transparently recovering the operating system. In cases where transparent recovery is not possible, process-level recovery can be attempted as a last resort.