Exception handling in the choices operating system

Francis M. David, Jeffrey C. Carlyle, Ellick M. Chan, David K. Raila, Roy H. Campbell

Research output: Chapter in Book/Report/Conference proceedingConference contribution


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.

Original languageEnglish (US)
Title of host publicationAdvanced Topics in Exception Handling Techniques
EditorsChristophe Dony, Jorgen Lindskov Knudsen, Alexander Romanovsky, Anand Tripathi
Number of pages20
StatePublished - 2006

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume4119 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Fingerprint Dive into the research topics of 'Exception handling in the choices operating system'. Together they form a unique fingerprint.

Cite this