Check out the new USENIX Web site.

A Caching Model of Operating System Kernel Functionality


David R. Cheriton and Kenneth J. Duda
Computer Science Department
Stanford University
Stanford, CA 94025
{cheriton,kjd}@cs.stanford.edu

Abstract

Operating system research has endeavored to develop micro-kernels that provide modularity, reliability and security improvements over conventional monolithic kernels. However, the resulting kernels have been slower, larger and more error-prone than desired. These efforts have also failed to provide sufficient application control of resource management required by sophisticated applications.

This paper describes a caching model of operating system functionality as implemented in the _Cache Kernel,_ the supervisor-mode component of the V++ operating system. The Cache Kernel caches operating system objects such as threads and address spaces just as conventional hardware caches memory data. User-mode _application kernels_ handle the loading and writeback of these objects, implementing application-specific management policies and mechanisms. Experience with implementing the Cache Kernel and measurements of its performance on a multiprocessor suggest that the caching model can provide competitive performance with conventional monolithic operating systems, yet provides application-level control of system resources, better modularity, better scalability, smaller size and a basis for fault containment.


Download the full text of this paper in ASCII (79,370 bytes) and POSTSCRIPT (239,579 bytes) form.

To Become a USENIX Member, please see our Membership Information.