Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Synchronizing shared abstract types
ACM Transactions on Computer Systems (TOCS)
ACM Transactions on Computer Systems (TOCS)
The C programming language
The integration of virtual memory management and interprocess communication in Accent
ACM Transactions on Computer Systems (TOCS)
Distributed process groups in the V Kernel
ACM Transactions on Computer Systems (TOCS)
Persistent memory: a storage architecture for object-oriented database systems
OODS '86 Proceedings on the 1986 international workshop on Object-oriented database systems
Performance of the V storage server: a preliminary report
CSC '85 Proceedings of the 1985 ACM thirteenth annual conference on Computer Science
Preemptable remote execution facilities for the V-system
Proceedings of the tenth ACM symposium on Operating systems principles
A trace-driven analysis of the UNIX 4.2 BSD file system
Proceedings of the tenth ACM symposium on Operating systems principles
Implementing remote procedure calls
ACM Transactions on Computer Systems (TOCS)
The notions of consistency and predicate locks in a database system
Communications of the ACM
Communications of the ACM
The Smalltalk-76 programming system design and implementation
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The Thoth System
Formal specification as a design tool
POPL '80 Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A recovery algorithm for a distributed database system
PODS '83 Proceedings of the 2nd ACM SIGACT-SIGMOD symposium on Principles of database systems
Notes on Data Base Operating Systems
Operating Systems, An Advanced Course
The Object Model: A Conceptual Tool for Structuring Software
Operating Systems, An Advanced Course
SOSP '77 Proceedings of the sixth ACM symposium on Operating systems principles
WFS a simple shared file system for a distributed environment
SOSP '79 Proceedings of the seventh ACM symposium on Operating systems principles
Accent: A communication oriented network operating system kernel
SOSP '81 Proceedings of the eighth ACM symposium on Operating systems principles
The LOCUS distributed operating system
SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
Publishing: a reliable broadcast communication mechanism
SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
The distributed V kernel and its performance for diskless workstations
SOSP '83 Proceedings of the ninth ACM symposium on Operating systems principles
Type hierarchies and Semantic Data Models
Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems
Network measurement of the VMTP request-response protocol in the V distributed system
SIGMETRICS '87 Proceedings of the 1987 ACM SIGMETRICS conference on Measurement and modeling of computer systems
Log files: an extended file service exploiting write-once storage
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
Communications of the ACM
Exploiting recursion to simplify RPC communication architectures
SIGCOMM '88 Symposium proceedings on Communications architectures and protocols
Decentralizing a global naming service for improved performance and fault tolerance
ACM Transactions on Computer Systems (TOCS)
Primitives for Distributed Computing in a Heterogeneous Local Area Network Environment
IEEE Transactions on Software Engineering
GriddLeS enhancements and building virtual applications for the GRID with legacy components
EGC'05 Proceedings of the 2005 European conference on Advances in Grid Computing
Hi-index | 0.02 |
A uniform I/O interface allows programs to be written relatively independently 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, the UIO (uniform I/O) system interface that has been used for the past five years in the V distributed operating system is described, with the focus 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 replication, as well as attributes that indicate whether optional semantics and operations are available. Experience in using and implementing this interface with a variety of different I/O services is described, along with the performance of both local and network I/O. It is concluded that the UIO interface provides a uniform I/O system interface with significant functionality, wide applicability, and no significant performance penalty.