User-Level Device Drivers: Achieved Performance
Rent the article at a discountRent now
* Final gross prices may vary according to local VAT.Get Access
Running device drivers as unprivileged user-level code, encapsulated into their own process, has often been proposed as a technique for increasing system robustness. However, in the past, systems based on user-level drivers have generally exhibited poor I/O performance. Consequently, user-level device drivers have never caught on to any significant degree. In this paper we demonstrate that it is possible to build systems which employ user-level device drivers, without significant performance degradation, even for high-bandwidth devices such as Gigabit Ethernet.
- Jochen Liedtke, Ulrich Bartling, Uwe Beyer et al. Two years of experience with a μ-kernel based OS. Operating Systems Review, April 1991, 25(2): 51–62.
- Alessandro Forin, David Golub, Brian Bershad. An I/O system for Mach 3.0. In Proc. the USENIX Mach Symposium, 1991.
- Stephen R Schach, Bo Jin, David R Wright, Gillian Z Heller, A Jefferson Offutt. Maintainability of the Linux kernel. In IEE Proceedings, Software, 2002, 149: 18–23.
- Thorsten von Eicken, Anindya Basu, Vineet Buch, Werner Vogels. U-Net: A user-level network interface for parallel and distributed computing. In Proc. the 15th ACM Symp. OS Principles, Copper Mountain, CO, USA, Dec. 1995, pp.40–53.
- Andy Chou, Jun-Feng Yang, Benjamin Chelf, Seth Hallem, Dawson Engler. An empirical study of operating systems errors. In Proc. the 18th ACM Symp. OS Principles, Lake Louise, Alta, Canada, Oct. 2001, pp.73–88.
- Michael M Swift, Steven Marting, Henry M Levy, Susan G Eggers. Nooks: An architecture for reliable device drivers. In Proc. the 10th SIGOPS European Workshop, St Emilion, France, Sept. 2002, pp.101–107.
- George Candea, Armando Fox. Recursive restartability: Turning the reboot sledgehammer into a scalpel. In Proc. the 8th Workshop on Hot Topics in Operating Systems, 2001, pp.125–130.
- Brian N Bershad, Stefan Savage, Przemysław Pardyak et al. Extensibility, safety and performance in the SPIN operating system. In Proc. the 15th ACM Symp. OS Principles, Copper Mountain, CO, USA, Dec. 1995, pp.267–284.
- Margo I Seltzer, Yasuhiro Endo, Christopher Small et al. Dealing with disaster: Surviving misbehaved kernel extensions. In Proc. the 2nd USENIX Symp. Operating Systems Design and Implementation, Nov. 1996, pp. 213–228.
- Robert Wahbe, Steven Lucco, Thomas E Anderson, Susan L Graham. Efficient software-based fault isolation. In Proc. the 14th ACM Symp. OS Principles, Asheville, NC, USA, Dec. 1993, pp.203–216.
- George C Necula, Peter Lee. Safe kernel extensions without run-time checking. In Proc. the 2nd USENIX Symp. Operating Systems Design and Implementation, Seattle, WA, USA, Oct. 1996, pp.229–243.
- David Maziéres, Dennis Shasha. Don't trust your file server. In Proc. the 8th Workshop on Hot Topics in Operating Systems, Elmau, Germany, May 2001, pp.113–118.
- Digital Equipment Corporation. DIGITAL Semiconductor 21174 Core Logic Chip Technical Reference Manual, 1997.
- Michael M Swift, Brian N Bershad, Henry M Levy. Improving the reliability of commodity operating systems. In Proc. the 19th ACM Symp. OS Principles, Bolton Landing (Lake George), New York, USA, Oct. 2003.
- J Bradley Chen, Brian N Bershad. The impact of operating system structure on memory system performance. In Proc. the 14th ACM Symposium on OS Principles, Asheville, NC, USA, Dec. 1993, pp.120–133.
- David B Golub, Guy G Sotomayor Jr, Freeman L Rawson III. An architecture for device drivers executing as user-level tasks. In Proc. the USENIX Mach III Symposium, 1993, pp.153–171.
- D Stuart Ritchie, Gerald W Neufeld. User level IPC and device management in the Raven kernel. In Proc. the 2nd USENIX Workshop on Microkernels and other Kernel Architectures, San Diego, CA, USA, Sept. 1993, pp.111–125.
- Galen C Hunt. Creating user-mode device drivers with a proxy. In Proc. the 1st USENIX Windows NT Workshop, 1997.
- Kevin Thomas Van Maren. The Fluke device driver framework [Thesis]. University of Utah, Dec. 1999.
- Lambert Schaelicke. Architectural support for user-level I/O [Dissertation]. University of Utah, 2001.
- Ian A Pratt. The user-safe device I/O architecture [Dissertation]. King's College, University of Cambridge, Aug. 1997.
- Peter Druschel, Larry L Peterson, Bruce S Davie. Experiences with a high-speed network adaptor: A software perspective. In Proc. the ACM Conf. Communications, Sept. 1994, pp.2–13.
- Nanette J Boden, Danny Cohen, Robert E Felderman et al. Myrinet: A gigabit-per-second local-area network. IEEE Micro, 1995, 15(1): 29–36. CrossRef
- Matthias A Blumrich, Cezary Dubnicki, Edward W Felten et al. Virtual-memory-mapped network interfaces. IEEE Micro, 1995, 15(1): 21–28. CrossRef
- Greg Buzzard, David Jacobson, Milon Mackey et al. An implementation of the Manlyn sender-managed interface architecture. In Proc. the 2nd Symposium on Operating Systems Design and Implementation, Seattle, WA, USA, Oct. 1996, pp.245–259.
- Ian Pratt, Keir Fraser. Arsenic: A user-accessible Gigabit Ethernet Interface. In Proc. the 20th IEEE INFOCOM, April 2001.
- Tzi-cher Chiueh, Ganesh Venkitachalam, Prashant Pradhan. Integrating segmentation and paging protection for safe, efficient and transparent software extensions. In Proc. the 17th ACM Symp. OS Principles, Kiawah Island, SC, USA, Dec. 1999, pp.140–153.
- User-Level Device Drivers: Achieved Performance
Journal of Computer Science and Technology
Volume 20, Issue 5 , pp 654-664
- Cover Date
- Print ISSN
- Online ISSN
- Kluwer Academic Publishers
- Additional Links
- device drivers
- operating systems
- Industry Sectors
- Author Affiliations
- 1. National ICT Australia and School of Computer Science and Engineering, University of New South Wales, Sydney, 2052, Australia
- 2. Wilhelm-Schickard-Institute for Computer Science, University of Tübingen, D-72076, Tübingen, Germany