@inproceedings{5519a757419548278b713077e9079bc1,
title = "Exception handling in the choices operating system",
abstract = "Exception handling is a powerful abstraction that can be used to help manage errors and support the construction of reliable operating systems. Using exceptions to notify system components about exceptional conditions also reduces coupling of error handling code and increases the modularity of the system. We explore the benefits of incorporating exception handling into the Choices operating system in order to improve reliability. We extend the set of exceptional error conditions in the kernel to include critical kernel errors such as invalid memory access and undefined instructions by wrapping them with language-based software exceptions. This allows developers to handle both hardware and software exceptions in a simple and unified manner through the use of an exception hierarchy. We also describe a catch-rethrow approach for exception propagation across protection domains. When an exception is caught by the system, generic recovery techniques like policy-driven micro-reboots and restartable processes are applied, thus increasing the reliability of the system.",
author = "David, {Francis M.} and Carlyle, {Jeffrey C.} and Chan, {Ellick M.} and Raila, {David K.} and Campbell, {Roy H.}",
year = "2006",
doi = "10.1007/11818502_3",
language = "English (US)",
isbn = "3540374434",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
pages = "42--61",
editor = "Christophe Dony and Knudsen, {Jorgen Lindskov} and Alexander Romanovsky and Anand Tripathi",
booktitle = "Advanced Topics in Exception Handling Techniques",
}