Abstract:
Device drivers are well known to be one of the prime sources of unreliability in today's computer systems. We argue that this need not be, as drivers can be run as user-level tasks, allowing them to be encapsulated by hardware protection. In contrast to prior work on user-level drivers, we show that on present hardware it is possible to prevent DMA from undermining this encapsulation.
Citations
|
505
|
U-Net: A User-Level Network Interface for Parallel and Distributed Computing
– Eicken, Basu, et al.
- 1995
|
|
151
|
Protocol Service Decomposition for High-Performance Networking
– Maeda, Bershad
- 1993
|
|
135
|
Implementing network protocols at user level
– Thekkath, Nguyen, et al.
- 1993
|
|
130
|
An empirical study of operating system errors
– Chou, Yang, et al.
- 2001
|
|
94
|
Sharing and Protection in a Single-Address-Space Operating System
– Chase, Levy, et al.
- 1994
|
|
44
|
Integrating segmentation and paging protection for safe, efficient and transparent software extensions
– Chiueh, Venkitachalam, et al.
- 1999
|
|
44
|
Experiences implementing a high performance TCP in user-space
– Edwards, Muir
- 1995
|
|
43
|
The Mungi single-address-space operating system
– Heiser, Elphinstone, et al.
- 1998
|
|
23
|
Don’t trust your file server
– Mazières, Shasha
- 2001
|
|
19
|
Nooks: An architecture for reliable device drivers
– Swift, Marting, et al.
- 2002
|
|
10
|
The User-Safe Device I/O Architecture
– Pratt
- 1997
|
|
9
|
The Fluke device driver framework
– Maren
- 1999
|
|
8
|
Efficient Connection-Oriented Communication on High-Performance Networks
– Damianakis
- 1998
|
|
8
|
III. An architecture for device drivers executing as user-level tasks
– Golub, Sotomayor, et al.
- 1993
|
|
4
|
Components + Security = OS Extensibility
– Edwards, Heiser
- 2001
|
|
4
|
Mungi device drivers
– Leslie
- 2002
|