User Level IPC and Device Management in the Raven Kernel
D. Stuart Ritchie and Gerald W. Neufeld
Department of Computer Science
University of British Columbia
Vancouver, B.C., Canada
Abstract
The increasing bandwidth of networks and storage devices in recent
years has placed greater emphasis on the performance of low level
operating system services. Data must be delivered between hardware
devices and user applications in an efficient matter. Motivated by the
need for low overhead operating system services, the Raven kernel
utilizes user level implementation techniques to reduce kernel
intervention for many common services. In particular, our user level
send/receive/reply communication implementation generates no kernel
interactions per iteration in the best case, and two kernel
interactions in the worst case. In more general cases, we observe
approximately one kernel interaction for every two send/receive/reply
iterations. Device driver support is also done entirely at the user
level reducing copy costs and context switching.
Download the full text of this paper in
ASCII form (40,829 bytes).
To Become a USENIX Member, please see our
Membership Information.