2007 · 105 citations · 41 references
ComputingComputer ScienceComputer SystemsFault-tolerant ComputingFault-tolerant SystemsOperating SystemsDevice DriversFault InjectionFault ModelingReliable System DesignResilient System DesignSoftware Fault ToleranceDevice Driver DesignDevice Driver VulnerabilitiesFault-tolerant ArchitectureResilienceResilience To FailureSoftware Fault DetectionSoftware Fault Injection
Studies have shown that device drivers and extensions contain 3-7 times more bugs than other operating system code and thus are more likely to fail. Therefore, we present a failure-resilient operating system design that can recover from dead drivers and other critical components - primarily through monitoring and replacing malfunctioning components on the fly - transparent to applications and without user intervention. This paper focuses on the post-mortem recovery procedure. We explain the working of our defect detection mechanism, the policy-driven recovery procedure, and post-restart reintegration of the components. Furthermore, we discuss the concrete steps taken to recover from network, block device, and character device driver failures. Finally, we evaluate our design using performance measurements, software fault-injection experiments, and an analysis of the reengineering effort.
41
Xen and the art of virtualization
Paul Barham, Boris Dragovic, Keir Fraser et al. · ACM SIGOPS Operating Systems Review · 2003 · 5.9K citations
The protection of information in computer systems
Jerome H. Saltzer, Michael Schroeder · Proceedings of the IEEE · 1975 · 1.9K citations
Xen and the art of virtualization
Paul Barham, Boris Dragovic, Keir Fraser et al. · 2003 · 1.6K citations
Protection of information in computer systems
Jerome H. Saltier, Michael P. Schroeder · IEEE CSIT Newsletter · 1975 · 1.4K citations
An empirical study of operating systems errors
Andy Chou, Junfeng Yang, Benjamin Chelf et al. · 2001 · 718 citations