norm@arizona.edu (Norm Hutchinson) (03/04/88)
The Saguaro Distributed Operating System Saguaro is an operating system for computers connected by a local-area network. Saguaro is implemented in the SR distributed programming language. Notable features of Saguaro include: channels - an interprocess communication and synchronization facility that generalizes UNIX pipes. Specifically, channels provide the communication and synchronization mechanism to connect the input and output streams of different commands. Each channel has one write port and one or more read ports. Data written to a channel's write port is buffered on each of the channel's read ports. More than one process can write to a channel's write port, in which case the different streams are merged in the order in which the writes are serviced by the channel. Also, more than one process can read from the same read port, in which case each process consumes some subset of the data buffered on that port. reproduction sets and metafiles - In Saguaro, semi-transparent file replication and access is supported by two mechanisms: reproduction sets and metafiles. A reproduction set is a collection of two or more files that the system attempts to keep identical each time a file is closed. If one member of the reproduction set is inaccessible at that time, the user is notified of the error. A metafile is a special file that contains symbolic pathnames of other files, a generalization of UNIX symbolic links. When a metafile is encountered during the pathname traversal performed upon file open, an open is attempted on each of the names contained in the metafile until one succeeds. The open fails only when it has been determined that every component file is inaccessible. UTS - Saguaro makes extensive use of the Universal Type System (UTS), a type system containing a type expression language and an external data representation. The type expression language is used in the system to describe user data such as files and to specify the types of arguments to commands and procedures; the external data representation is used as the basis for representing the data stored in system constructs such as files and channels. These uses of UTS enable the system to assist in type checking and leads to a user interface in which command-specific templates are available to facilitate command invocation. References: Andrews, G.R., Schlichting, R.D., Hayes, R., and Purdin, T.D.M. The design of the Saguaro distributed operating system. IEEE Trans. on Softw. Eng. SE-13, 1 (Jan. 1987), 104-118. Schlichting, R.D., Andrews, G.R, and Purdin, T. Mechanisms to enhance file availability in distributed systems. Proc. 16th Int. Symp. on Fault-Tolerant Computing, Vienna (July 1986), 44-49. Purdin, T. Enhancing file availability in distributed systems (the Saguaro file system). Ph.D. Dissertation, Dept. of Computer Science, The University of Arizona, Aug. 1987. Contact: Richard D. Schlichting Department of Computer Science The University of Arizona Tucson, AZ 85721 602-621-4324 rick@arizona.edu