Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines

  • Author:

    Joshua LeVasseur, Volkmar Uhlig, Jan Stoess, and Stefan Götz

  • Source:

    Proceedings of the Sixth Symposium on Operating Systems Design and Implementation (OSDI '04), December 6-8, 2004, San Francisco, CA

  • Date: 06.-08.12.2004
  • 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.

    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}
    }