MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Unmodified device driver reuse and improved system dependability via virtual machines (2004) [56 citations — 8 self]

by Joshua Levasseur ,  Volkmar Uhlig ,  Jan Stoess ,  Stefan Götz
In Proceedings of the 6th Symposium on Operating Systems Design and Implementation
Add To MetaCart

Abstract:

We propose a method to reuse unmodified device drivers and to improve system dependability using virtual machines. We run the unmodified device driver, with its original operating system, in a virtual machine. This approach enables extensive reuse of existing and unmodified drivers, independent of the OS or device vendor, significantly reducing the barrier to building new OS endeavors. By allowing distinct device drivers to reside in separate virtual machines, this technique isolates faults caused by defective or malicious drivers, thus improving a system’s dependability. We show that our technique requires minimal support infrastructure and provides strong fault isolation. Our prototype’s network performance is within 3–8 % of a native Linux system. Each additional virtual machine increases the CPU utilization by about 0.12%. We have successfully reused a wide variety of unmodified Linux network, disk, and PCI device drivers. 1

Citations

266 On µ-kernel construction – Liedtke - 1995
154 Memory resource management in vmware esx server – Waldspurger - 2002
152 Survey of virtual machine research – Goldberg - 1974
137 An empirical study of operating system errors – Chou, Yang, et al. - 2001
136 Virtualizing i/o devices on vmware workstation’s hosted virtual machine monitor – Sugerman, Venkitachalam, et al. - 2001
133 Disco: running commodity operating systems on scalable multiprocessors – Bugnion, Devine, et al. - 1997
129 Improving the reliability of commodity operating systems – Swift, Bershad, et al. - 2003
95 The Flux OSKit: A Substrate for Kernel and Language Research – Ford, Back, et al. - 1997
83 Recursive restartability: Turning the reboot sledgehammer into a scalpel – Candea, Fox - 2001
63 Self-paging in the Nemesis operating system – Hand - 1999
51 Safe Hardware Access with the Xen Virtual – Fraser, Hand, et al. - 2004
35 et al., “Xen and the Art of Virtualization – Barham - 2003
30 An I/O system for Mach 3.0 – Forin, Golub, et al. - 1991
23 The sawmill multiserver approach – GEFFLAUT, JAEGER, et al.
19 The performance of microkernel-based systems – Härtig, Hohmuth, et al. - 1997
19 et al. Recovery-oriented computing (roc): Motivation, definition, techniques, and case studies – Patterson - 2002
18 Towards scalable multiprocessor virtual machines – Uhlig, Levasseur, et al. - 2004
15 Reconstructing I/O – Fraser, Hand, et al. - 2004
13 Towards untrusted device drivers – Leslie, Heiser - 2003
11 User level IPC and device management in the Raven kernel – Ritchie, Neufeld - 1993
10 III. An architecture for device drivers executing as user-level tasks – Golub, Sotomayor, et al. - 1993
9 Improving application performance through swap compression – Cervera, Cortes, et al. - 1999
9 Linux Device Driver Emulation in Mach – Goel, Duchamp - 1996
5 An I/O architecture for microkernelbased operating systems – Härtig, Löser, et al. - 2003
4 Two years of experience with a µ-kernel based OS – Liedtke, Bartling, et al. - 1991
4 Y.: How to schedule unlimited memory pinning of untrusted processes or provisional ideas about serviceneutrality – Liedtke, Uhlig, et al. - 1999
3 The Fluke device driver framework – Maren - 1999
3 VMware ESX Server I/O Adapter Compatibility Guide, January 2003. Carl Waldspurger. Memory resource management in VMware ESX – VMware
2 Initial evaluation of a user-level device driver framework – Elphinstone, Götz - 2004
2 Microsoft Virtual PC – Honeycutt - 2003
1 et al. Utilizing Linux kernel components – Appavoo, Auslander, et al. - 2002
1 et al. Position summary: Supporting hot-swappable components for system software – Hui, Appavoo, et al. - 2001