Home | deutsch  | Legals | Data Protection | KIT

Binary Device Driver Reuse

Binary Device Driver Reuse
Subject:Virtual Machines
Type:Diploma Thesis

Prof. Dr. Frank Bellosa, Joshua LeVasseur

Graduand:Bernhard Poess


This work presents a novel approach to driver reuse and isolation. We propose to deprivilege binary device drivers and to use the original kernel API to interface with the reused drivers.

We isolate device drivers by running them as regular applications in usermode. The original environment is emulated to the reused device drivers. The drivers run as kernel-mode drivers in their native environment. We use lightweight virtualization to deprivilege device driver binaries and run them in user-mode. To demonstrate our approach we have developed a reference system that reuses Linux 2.6 device drivers on top of a microkernel-based component operating system. We successfully reuse network device drivers. Measurements show that our implementation achieves performance comparable to native Linux systems. However, the CPU utilization of our implementation is significantly lower than that of the Linux system. With roughly 23K source lines of code needed for our emulation environment, the engineering effort is very low.


  author = {Bernhard Poess},
  title = {Binary Device Driver Reuse},
  type = {Diploma Thesis},
  address = {System Architecture Group, University of Karlsruhe, Germany},
  month = mar # "~22",
  year = 2007,
  url = {http://i30www.ira.uka.de/teaching/theses/pasttheses/}