summaryrefslogtreecommitdiff
path: root/open_issues/device_drivers_and_io_systems.mdwn
blob: 72f60e0032ffa13110e9f05441ff93d4f89704b6 (plain)
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
95
96
97
98
99
100
101
102
[[!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

  * [[Rump_kernel]]

  * [[/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

  * IRC, freenode, #hurd, 2013-08-26

        < stargater> in haiku is a layer wraper for bsd driver 
        < stargater>
          https://www.haiku-os.org/news/2007-05-08/haiku_getting_a_freebsd_network_driver_compatibility_layer