Check out the new USENIX Web site.

Experience Building a File System on a Highly Modular Operating System

Michael N. Nelson, Yousef A. Khalidi, and Peter W. Madany
Sun Microsystems Laboratories, Inc.
Mountain View, CA 94043 USA


File systems that employ caching have been built for many years. However, most work in file systems has been done as part of monolithic operating systems. In this paper we give our experience with building a high-performance distributed file system on Spring, a highly modular operating system where system services such as file systems are provided as user-level servers. The Spring file system described in this paper supports cache coherent file data and attributes. It uses the virtual memory system to provide data caching and uses the operations provided by the virtual memory system to keep the data coherent. The file system uses a unique dynamic caching algorithm that allows per-machine caching file servers to be located when a file object is passed from one machine to another. A per-machine caching file server utilizes the virtual memory system to provide caching of data for read and write operations, and it has a private protocol with the remote file servers to cache file attributes. The result is an operating system that has all the advantages of modular systems while providing the efficiency of caching that was available in monolithic systems.

Download the full text of this paper in ASCII form (55,745 bytes).

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