|
Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines
Joshua LeVasseur, Volkmar Uhlig, Jan Stoess, and Stefan Götz
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.
In Proceedings of the Sixth Symposium on Operating Systems Design and Implementation (OSDI '04), December 6-8, 2004, San Francisco, CA
Full paper: [pdf]
BibTeX: @InProceedings{LeVasseur04UnmodifiedDriverReuse,
author = {Joshua LeVasseur and Volkmar Uhlig and Jan Stoess and
Stefan G\"otz},
title = {Unmodified Device Driver Reuse and Improved System
Dependability via Virtual Machines},
booktitle = {Proceedings of the 6th Symposium on Operating Systems
Design and Implementation},
address = {San Francisco, CA},
month = Dec,
year = {2004},
affiliation = {University of Karlsruhe, Germany},
URL = {http://l4ka.org/publications/}
}
|