• DocumentCode
    580146
  • Title

    Device Mechanism: A Structured Device Driver Development Approach

  • Author

    Silva, Raul Schmidlin Fajardo ; Marcus, Guillermo

  • Author_Institution
    Dept. for Applic. Specific Comput., Univ. of Heidelberg, Heidelberg, Germany
  • fYear
    2012
  • fDate
    25-27 Oct. 2012
  • Firstpage
    66
  • Lastpage
    73
  • Abstract
    Drivers are responsible for the majority of the operating system failures. An increased number of devices leads to higher driver reuse without consistently applying code reuse techniques, creating operating failures. We improve driver design and code reuse in device drivers by the separation of policy and mechanism. The device mechanism is a unique interface giving access to the functionality implemented in the device, while the policy uses the mechanism to implement the features required by the operating system. Furthermore, the mechanism adds semantically defined structures that describe the access to the hardware. As a case study, we define the device mechanism for an existing web cam driver in both user- and kernel-space variants. The resulting code enabled us to avoid two known implementation bugs, and uncover another one previously unknown. Register accesses are augmented with permission controls and access rules at the cost of increased code length and memory footprint, but without adversely affecting the performance of the device and the driver.
  • Keywords
    device drivers; program debugging; Web cam driver; access rules; code length; code reuse; device mechanism; device policy; driver design; implementation bugs; kernel-space variants; memory footprint; operating system failures; permission controls; register access; structured device driver development approach; user-space variants; Hardware; Operating systems; Registers; Universal Serial Bus; XML; Device Driver; Domain Specific Languages; Fault Prevention; Hardware/Software Codesign; Reliability;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    High-Assurance Systems Engineering (HASE), 2012 IEEE 14th International Symposium on
  • Conference_Location
    Omaha, NE
  • ISSN
    1530-2059
  • Print_ISBN
    978-1-4673-4742-6
  • Type

    conf

  • DOI
    10.1109/HASE.2012.20
  • Filename
    6375639