Stories
Slash Boxes
Comments

SoylentNews is people

posted by cmn32480 on Sunday November 15 2015, @06:46PM   Printer-friendly

Device drivers commonly execute in the kernel to achieve high performance and easy access to kernel services. However, this comes at the price of decreased reliability and increased programming difficulty. Driver programmers are unable to use user-mode development tools and must instead use cumbersome kernel tools. Faults in kernel drivers can cause the entire operating system to crash. User-mode drivers have long been seen as a solution to this problem, but suffer from either poor performance or new interfaces that require a rewrite of existing drivers.

This paper introduces the Microdrivers architecture that achieves high performance and compatibility by leaving critical path code in the kernel and moving the rest of the driver code to a user-mode process. This allows data-handling operations critical to I/O performance to run at full speed, while management operations such as initialization and configuration run at reduced speed in user-level. To achieve compatibility, we present DriverSlicer, a tool that splits existing kernel drivers into a kernel-level component and a user-level component using a small number of programmer annotations. Experiments show that as much as 65% of driver code can be removed from the kernel without affecting common-case performance, and that only 1-6 percent of the code requires annotations.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by Zz9zZ on Sunday November 15 2015, @07:32PM

    by Zz9zZ (1348) on Sunday November 15 2015, @07:32PM (#263728)

    This seems like a good thing, allowing compartmentalization. However, could this introduce a pathway for user level programs to access critical kernel operations?

    --
    ~Tilting at windmills~
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 2) by maxwell demon on Sunday November 15 2015, @11:10PM

    by maxwell demon (1608) on Sunday November 15 2015, @11:10PM (#263787) Journal

    I guess such drivers would still need to run as root. If you are root, you already have such a pathway: Just load a kernel module.

    --
    The Tao of math: The numbers you can count are not the real numbers.