The V distributed System was developed at Stanford University as ,part of a research project to explore issues in distributed systems. Aspects 'of the design suggest important directions for the design of future operating systems and communication systems.DAVID R. CHERITON The V distributed system is an operating system designed for a cluster of computer workstations connected by a high-performance network. The system is structured as a relatively small "distributed" kernel, a set of service modules, various run-time libraries and a set of commands, as shown in Figure 1. The kernel is distributed in that a separate copy of the kernel executes on each participating network node yet the separate copies cooperate to provide a single system abstraction of processes in address spaces communicating using a base set of communication primitives. The existence of multiple machines and network interconnection is largely transparent at the process level. The service modules implement value-added services using the basic access to hardware resources provided by the kernel. For instance, the V file server implements a UNIX-like file system using the raw disk access supported by the kernel. The various run-time libraries implement conventional language or application-to-operating system interfaces such as Pascal I/O and C stdio [Zl]. Most V applications and commands are written in terms of these conventional interfaces and are oblivious to the distributed nature of the underlying system. In fact, many programs originated in non-distributed systems and were ported with little or no modification-the original source was simply linked against the V runtime libraries. 0 1988 ACM OOl-0782/88/0300-0314 $1.50 the full power of the mainframe would have been available, such as running the simulation at night. A first tenet in our design philosophy is that highperformance communication is the most critical facility for distributed systems. By high performance, we mean providing fast exchange of significant amounts of data matching in essence the requirements of conventional file access. Slow communication facilities lead to poor performance and a proliferation of elaborate techniques for dealing with these limited facilities, analogous to the effect of slow and expensive memory on operating systems technology in the 1960s and 1970s. Fast communication allows the system to access state, such as files, without concern for location, thereby making true network transparency feasible. This is analogous to the liberating affect that low-cost memory has had on operating systems and applications since the late 1970s. Not only are the resulting systems faster, they are also simpler because there is no need to highly optimize the use of communication as a scarce resource.A second tenet of the design philosophy is that the protocols, not the software, define the system. In particular, any network node that "speaks" the system protocols (or a sensible subset) can participate, independent of its internal software architecture. Thus, the challenge is ...