Report Number: CS-TR-86-1134
Institution: Stanford University, Department of Computer Science
Title: UIO: A Uniform I/O System Interface for Distributed Systems
Author: Cheriton, David R.
Date: November 1986
Abstract: A uniforrn I/O interface allows programs to be written
relatively independent of specific I/O services and yet work
with a wide variety of the I/O services available in a
distributed environment. Ideally, the interface provides this
uniform access without excessive complexity in the interface
or loss of performance. However, a uniform interface does not
arise from careful design of individual system interfaces
alone; it requires explicit definition.
In this paper, we describe the UIO (uniform I/O) system
interface that has been used for the past five years in the V
distributed operating systems, focusing on the key design
issues. This interface provides several extensions beyond the
I/O interface of UNIX, including support for record I/O,
locking, atomic transactions and replications as well as
attributes that indicate whether optional semantics and
operations are available. We also describe our experience in
using and implementing this interface with a variety of
different I/O services plus the performance of both local and
network I/O. We conclude that the UIO interface provides a
uniform I/O system interface with significant functionality,
wide applicability and no significant performance penalty.
http://i.stanford.edu/pub/cstr/reports/cs/tr/86/1134/CS-TR-86-1134.pdf