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
Abstract
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.