1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
[[!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
|