Device Driver Reliability

Device Driver Reliability

Michael M. Swift (University of Wisconsin—Madison, USA)
DOI: 10.4018/978-1-60566-850-5.ch002
OnDemand PDF Download:
No Current Special Offers


Despite decades of research in extensible operating system technology, extensions such as device drivers remain a significant cause of system failures. In Windows XP, for example, drivers account for 85% of recently reported failures. This chapter presents Nooks, a layered architecture for tolerating the failure of drivers within existing operating system kernels. The design consists techniques for isolating drivers from the kernel and for recovering from their failure. Nooks isolates drivers from the kernel in a lightweight kernel protection domain, a new protection mechanism. By executing drivers within a domain, the kernel is protected from their failure and cannot be corrupted. Shadow drivers recover from device driver failures. Based on a replica of the driver’s state machine, a shadow driver conceals the driver’s failure from applications and restores the driver’s internal state to a point where it can process requests as if it had never failed. Thus, the entire failure and recovery is transparent to applications.
Chapter Preview

Device Driver Overview

A device driver is a kernel-mode software component that provides an interface between the OS and a hardware device. In most commodity operating systems, device drivers execute in the kernel for two reasons. First, they require privileged access to hardware, such as the ability to handle interrupts, which is only available in the kernel. Second, they require high performance, which is achieved via direct procedure calls into and out of the kernel.

Complete Chapter List

Search this Book: