Microdrivers: a new architecture for device drivers

  • Authors:
  • Vinod Ganapathy;Arini Balakrishnan;Michael M. Swift;Somesh Jha

  • Affiliations:
  • Computer Sciences Department, University of Wisconsin-Madison;Computer Sciences Department, University of Wisconsin-Madison;Computer Sciences Department, University of Wisconsin-Madison;Computer Sciences Department, University of Wisconsin-Madison

  • Venue:
  • HOTOS'07 Proceedings of the 11th USENIX workshop on Hot topics in operating systems
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Commodity operating systems achieve good performance by running device drivers in-kernel. Unfortunately, this architecture offers poor fault isolation. This paper introduces microdrivers, which reduce the amount of driver code running in the kernel by splitting driver functionality between a small kernel-mode component and a larger user-mode component. This paper presents the microdriver architecture and techniques to refactor existing device drivers into microdrivers, achieving most of the benefits of user-mode driverswith the performance of kernel-mode drivers. Experiments on a network driver show that 75% of its code can be removed from the kernel without affecting common-case performance.