Abstract

A distributed system is constructed from a set of relatively independent components that form a unified but geographically and functionally diverse entity. Examples include networked operating systems, Internet services, the national telephone switching system, and, in general, all the technology using today's diverse digital networks. Nevertheless, distributed systems remain difficult to design, build, and maintain, primarily due to the lack of a clean, perspicuous interconnection model for the components. Our experience with two distributed operating systems, Plan 9® and Inferno®, encourages us to propose such a model. These systems depend on, advocate, and generally push to the limit a fruitful idea — to present their resources as files in a hierarchical name space. The objects appearing as files may represent stored data, but they may also be devices, dynamic information sources, interfaces to services, and control points. The approach unifies and provides basic naming, structuring, and access control mechanisms for all system resources. A simple underlying network protocol, Styx®, forms the core of the architecture by presenting a common language for communication within the system. Even within nondistributed systems, the presentation of services as files advantageously extends a familiar scheme for naming, classifying, and connecting to system resources. More important, the approach provides a natural way to build distributed systems by using well-known technology for attaching remote file systems. If resources are represented as files and there are remote file systems, one has a distributed system — resources available in one place are usable from another.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call