Check out the new USENIX Web site.

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


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.