Abstract:
We argue that ongoing research in extensible kernels largely fails to address the real challenges facing the OS community. Instead, these efforts have become entangled in trying to solve the safety problems that extensibility itself introduces into OS design. We propose a pragmatic approach to extensibility, where kernel extensions are used in experimental settings to evaluate and develop OS enhancements for demanding applications. Once developed and well understood, these enhancements are then migrated into the base operating system for production use. This approach obviates the need for guaranteeing safety of kernel extensions, allowing the OS research community to re-focus on the real challenges in OS design and implementation. To provide a concrete example of this approach, we analyze the techniques used in experimental HTTP servers to show how proper application design combined with generic enhancements to operating systems can provide the same benefits without requiring applicati...
Citations
|
558
|
Efficient software-based fault isolation
– Wahbe, Lucco, et al.
- 1993
|
|
506
|
Exokernel: an Operating System Architecture for Application-Level Resource Management
– Engler, Kaashoek, et al.
- 1995
|
|
433
|
A hierarchical Internet object cache
– Chankhunthod, Danszig, et al.
- 1996
|
|
363
|
Extensibility, safety and performance in the SPIN operating system
– Bershad, Savage, et al.
- 1995
|
|
362
|
Safe Kernel extensions without run-time checking
– Necula, Lee
- 1996
|
|
223
|
Dealing with disaster: Surviving misbehaved kernel extensions
– Seltzer, Endo, et al.
- 1996
|
|
202
|
The packet filter: An efficient mechanism for user-level network code
– MOGUL, RASHID, et al.
- 1987
|
|
196
|
Hypertext Transfer Protocol -- HTTP/1.0, RFC
– Berners-Lee, R, et al.
- 1996
|
|
115
|
K.Li, Implementation and performance of application-controlled file caching
– Cao
- 1994
|
|
107
|
Extent-like performance from a UNIX file system
– McVoy, Kleiman
- 1991
|
|
81
|
Embedded inodes and explicit grouping: Exploiting disk bandwidth for small files
– Ganger, Kaashoek
- 1997
|
|
60
|
Dynamic binding in an extensible system
– Pardyak, Bershad
- 1996
|
|
54
|
Server operating systems
– Kaashoek, Engler, et al.
- 1996
|
|
54
|
Scalability in the XFS file system
– Sweeney, Doucette, et al.
- 1996
|
|
9
|
thttpd - tiny/turbo/throttling HTTP server. Acme Labs
– Poskanzer
- 2000
|
|
1
|
T/TCP -- TCP extensions for transactions. Request for Comments 1644
– Braden
- 1994
|
|
1
|
IO-Lite: A unified I/O buffering and caching system. http://www.cs.rice.edu/- vivek/IO-Lite.html
– Pai, Druschel, et al.
|