Abstract
Device drivers are a significant source of system instability. In this paper, we make the case for running device drivers at user-level to improve robustness and resource management. We present a framework for running drivers at user-level whose goal is to provide similar performance when compared to in-kernel drivers. We also present initial promising performance results for the framework.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Liedtke, J.: Toward real microkernels. Communications of the ACM 39 (1996)
Hohmuth, M., Tews, H., Stephens, S.G.: Applying source-code verification to a microkernel - the VFiasco project. In: Proc. 10th SIGOPS European Workshop (2002)
Engler, D.R., Kaashoek Jr., M.F., O.J.: Exokernel: An operating system architecture for application-level resource management. In: 15th Symp. on Operating Systems Principles, Copper Mountain Resort, CO, ACM, New York (1995)
Accetta, M., Baron, R., Bolosky, W., Golub, D., Rashid, R., Tevanian, A., Young, M.: MACH: A new kernel foundation for UNIX development. In: Proc. Summer USENIX (1986)
Cheriton, D.R.: The V kernel: A software based for distribution. IEEE Software 1, 19–42 (1984)
Rozier, M., Abrossimov, V., Armand, F., Boule, I., Gien, M., Guillemont, M., Hermann, F., Kaiser, C., Langlois, S., Leonard, P., Neuhauser, W.: Chorus distributed operating system. Computer Systems 1 (1988)
Tanenbaum, A.S., van Renesse, R., van Staveren, H., Sharp, G.J., Mullender, S.J.: Experiences with the amoeba distributed operating system. Communications of the ACM 33, 46–63 (1990)
Chou, A., Yang, J., Chelf, B., Hallem, S., Engler, D.: An empirical study of operating systems errors. In: Proc. 18th Symp. on Operating Systems Principles
Microsoft: Driver signing for windows (2002), Available: http://www.microsoft.com/technet/prodtechnol/winxppro/proddocs/codesigning.asp
Gefflaut, A., Jaeger, T., Park, Y., Liedtke, J., Elphinstone, K., Uhlig, V., Tidswell, J., Deller, L., Reuther, L.: The SawMill multiserver approach. In: 9th SIGOPS European Workshop, Kolding, Denmark (2000)
Härtig, H., Baumgartl, R., Borriss, M., Hamann, C.J., Hohmuth, M., Mehnert, F., Reuther, L., Schönberg, S., Wolter, J.: DROPS - OS support for distributed multimedia applications. In: Proc. 8th SIGOPS European Workshop, Sintra, Portugal (1998)
von Eicken, T., Basu, A., Buch, V., Vogels, W.: U-net: a user-level network interface for parallel and distributed computing. In: Proc. 15th Symp. on Operating Systems Principles, Copper Mountain, Colorado, USA, pp. 40–53 (1995)
Myrinet: Myrinet (2002), Website www.myrinet.com
Leslie, B., Heiser, G.: Towards untrusted device drivers. Technical Report UNSWCSE- TR-0303, School Computer Science and Engineering, University of New South Wales, Sydney, 2052, Australia (2003)
Felten, E.W., Alpert, R.D., Bilas, A., Blumrich, M.A., Clark, D.W., Damianakis, S.N., Dubnicki, C., Iftode, L., Li, K.: Early experience with message-passing on the SHRIMP multicomputer. In: Proc. 23rd Symp. on Computer Architecture, pp. 296–307 (1996)
Rawson III, F.L.: An architecture for device drivers executing as user-level tasks. In: USENIX MACH III Symposium (1993)
Liedtke, J., Elphinstone, K., Schönberg, S., Härtig, H., Heiser, G., Islam, N., Jaeger, T.: Achieved IPC performance. In: 6th Workshop on Hot Topics in Operating Systems (HotOS), Chatham, Massachusetts (1997)
Aron, M., Liedtke, J., Park, Y., Deller, L., Elphinstone, K., Jaeger, T.: The SawMill framework for virtual memory diversity. In: Australasian Computer Systems Architecture Conference, Gold Coast, Australia, IEEE Computer Society Press, Los Alamitos (2001)
Liedtke, J., Uhlig, V., Elphinstone, K., Jaeger, T., Park, Y.: How to schedule unlimited memory pinning of untrusted processes or provisional ideas about serviceneutrality. In: 7th Workshop on Hot Topics in Operating Systems, Rio Rico, Arizona (1999)
Unrau, R., Krieger, O.: Efficient sleep/wake-up protocols for user-level IPC. In: International Conference on Parallel Processing (1998)
Ritchie, D., Neufeld, G.: User level ipc and device management in the raven kernel. In: Proc. USENIX Microkernels and Other Kernel Architectures (1993)
Wienand, I., Macpherson, L.: ipbench (2002), Website http://ipbench.sourceforge.net/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Elphinstone, K., Götz, S. (2004). Initial Evaluation of a User-Level Device Driver Framework. In: Yew, PC., Xue, J. (eds) Advances in Computer Systems Architecture. ACSAC 2004. Lecture Notes in Computer Science, vol 3189. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30102-8_21
Download citation
DOI: https://doi.org/10.1007/978-3-540-30102-8_21
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-23003-8
Online ISBN: 978-3-540-30102-8
eBook Packages: Springer Book Archive