A caching file system for a programmer's workstation

Michael D. Schroeder, David K. Gifford, Roger M. Needham
1985 Proceedings of the tenth ACM symposium on Operating systems principles - SOSP '85  
This paper describes a workstation le system that supports a group of cooperating programmers by allowing them both to manage local naming environments and to share consistent versions of collections of software. The le system has access to the workstation's local disk and to remote le servers, and provides a hierarchical name space that includes the les on both. Local names can refer to local les or be attached to remote les. Remote les, which also may be referred to directly, are immutable
more » ... cached on the local disk. The le system is part of the Cedar experimental programming environment at Xerox PARC and has been in use since late 1983. Capsule Review A personal workstation with a local disk generally uses the disk to hold a local le system. In a large collection of workstations connected by a network, the workstation le systems contribute to the good responsiveness and high availability of the individual workstations. But if users of di erent workstations are working together on a project, the separate le systems get in the way. Typically, the users will cope with the problem by manually copying les through a shared directory on a le server, but this process is slow and error-prone. The Cedar programming environment project used a simple technique based on DF les to manage le sharing in a systematic way. This paper describes CFS, a workstation le system designed to support the use of DF les. CFS is unusual in that it only allows the sharing of immutable les; rather than changing an existing shared le, you make a new version. Workstations with CFS share les using a le server that provides le version numbers and whole-le transfers. CFS does not require other le server features like random le access or transactions. CFS manages part of the local disk as a cache of immutable shared les. The DF le methodology allows CFS and the le servers to largely ignore the cache consistency problem. Experience with Cedar shows that DF les plus CFS form a simple and workable solution to the problem of multi-person le sharing in a workstation based programming environment. For some other applications of workstations, it seems clear that a database server will be a useful addition, giving data sharing at a ner grain than the immutable les of CFS. An interesting open question is whether or not there are applications that demand something in between a database server and CFS.
doi:10.1145/323647.323632 dblp:conf/sosp/SchroederGN85 fatcat:3mvwfzzq5bggjmn5d3j5vzratq