BIB-VERSION:: CS-TR-v2.0 ID:: STAN//CS-TR-86-1134 ENTRY:: May 01, 1995 ORGANIZATION:: Stanford University, Department of Computer Science TITLE:: UIO: A Uniform I/O System Interface for Distributed Systems TYPE:: Technical Report AUTHOR:: Cheriton, David R. DATE:: November 1986 PAGES:: 32 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. NOTES:: [Adminitrivia V1/Prg/19950501] END:: STAN//CS-TR-86-1134