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