[[!meta copyright="Copyright © 2009, 2011 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] [[!tag open_issue_gnumach open_issue_hurd]] This is a collection of resources concerning *device drivers* and *I/O systems* in general. Also see [[user-space device drivers]]. [[community/gsoc/project ideas/driver glue code]]. [[!toc levels=2]] # Documentation * [An I/O System for Mach 3.0](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.56.3210), 1991, Alessandro Forin, David Golub, Brian Bershad * [Linux Device Driver Emulation in Mach](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.53.7252), 1996, Shantanu Goel, Dan Duchamp * [Eliminating receive livelock in an interrupt-driven kernel](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.127.8257), 1997, Jeffrey Mogul, Dec Western, Jeffrey C. Mogul, K. K. Ramakrishnan * [IO-Lite: A Unified I/O Buffering and Caching System](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.4224), 1997, Vivek S. Pai, Peter Druschel, Willy Zwaenepoel * [The Flux OSKit: A substrate for kernel and language research](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.118.534), 1997, Bryan Ford, Godmar Back, Greg Benson, Jay Lepreau, Albert Lin, Olin Shivers * [Reuse Linux Device Drivers in Embedded Systems](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.26.6951), 1998, Chi-wei Yang, Paul C. H. Lee, Ruei-Chuan Chang * [THINK: A Software Framework for Component-based Operating System Kernels](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.133.9239), 2002, Jean-Philippe Fassino, Jean-Bernard Stefani, Julia Lawall, Gilles Muller * [An I/O Architecture for Microkernel-Based Operating Systems](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.5.4337), 2003, Hermann Haertig, Jork Loeser, Jork Löser, Frank Mehnert, Lars Reuther, Martin Pohlack, Alexander Warg * [High-Speed I/O: The Operating System as a Signalling Mechanism](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.9.6991), 2003, Matthew Burnside, Angelos D. Keromytis * [Unmodified device driver reuse and improved system dependability via virtual machines](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.108.5317), 2004, Joshua Levasseur, Volkmar Uhlig, Jan Stoess, Stefan Götz # External Projects * [[/DDE]] * [Building Linux Device Drivers on FreeBSD](http://info.iet.unipi.it/~luigi/FreeBSD/linux_bsd_kld.html) * [Project UDI](http://www.projectudi.org/), a multi-company effort to define a Uniform Driver Interface * [The Free Software Movement and UDI](http://www.gnu.org/philosophy/udi.html) * [OSKit](http://www.cs.utah.edu/flux/oskit/) * [Unofficial OSKit source](http://www.nongnu.org/oskit/) on Savannah * [[microkernel/Mach]]-like It might be possible to integrate these systems' device drivers, as they're expected to mostly be using the same interfaces as the current in-kernel Mach drivers are. * OSF Mach * Darwin