A file system supporting cooperation between programs

  • Authors:
  • Loretta Guarino Reid;Philip L. Karlton

  • Affiliations:
  • Xerox Corporation, Palo Alto, California;Xerox Corporation, Palo Alto, California

  • Venue:
  • SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
  • Year:
  • 1983

Quantified Score

Hi-index 0.00

Visualization

Abstract

File systems coordinate simultaneous access of files by concurrent client processes. Although several processes may read a file simultaneously, the file system must grant exclusive access to one process wanting to write the file. Most file systems consider processes to be antagonistic: they prevent one process from taking actions on a file that have any chance to harm to another process already using the file. If several processes need to cooperate in a more sophisticated manner in their use of a file, they must communicate explicitly among themselves. The next three sections describe the file system procedures used by clients for using and sharing files. Section Two discusses how a client gains access to a file and how a client can respond if the file system asks it to give up a file it is using. Section Three discusses the mechanism by which a client might ask to be notified that a file is available for some access. Section Four discusses a controlled type of file access that lets clients read and write the same file at the same time. Section Five comprises three examples of the cooperative features of the file system taken from the Xerox Development Environment. Section Six discusses the subtleties of writing the call-back procedures that clients provide to the file system to implement interprocess cooperation. Section Seven discusses the implementation of this file system.