作者: Michael M. Swift , Brian N. Bershad , Henry M. Levy
关键词:
摘要: Despite decades of research in extensible operating system technology, extensions such as device drivers remain a significant cause failures. In Windows XP, for example, account 85% recently reported This paper describes Nooks, reliability subsystem that seeks to greatly enhance OS by isolating the from driver The Nooks approach is practical: rather than guaranteeing complete fault tolerance through new (and incompatible) or architecture, our goal prevent vast majority driver-caused crashes with little no change existing and code. To achieve this, isolates within lightweight protection domains inside kernel address space, where hardware software them corrupting kernel. also tracks driver's use resources hasten automatic clean-up during recovery.To prove viability approach, we implemented Linux used it fault-isolate several drivers. Our results show offers substantial increase systems, catching quickly recovering many faults would otherwise crash system. series 2000 fault-injection tests, recovered automatically 99% caused crash.While was designed drivers, techniques generalize other extensions, well. We demonstrate this kernel-mode file an in-kernel Internet service. Overall, because supports C-language runs on commodity hardware, enables automated recovery, represents step beyond specialized architectures type-safe languages required previous efforts directed at safe extensibility.