Distributed system V IPC in LOCUS: a design and implementation retrospective
Proceedings of the ACM SIGCOMM conference on Communications architectures & protocols - SIGCOMM '86
This paper describes new interprocess communications facilities that have been added to the Locus system[POPEK 8l]pALKER 831. The facilities improve Locus's interprocess communication repertoire by providing distributed support for three separate subsystems from System V UNIX: messages, semaphores, and shared memory. Here we describe these subsystems and their integration into in the Locus architecture. Interprocess Communication Interprocess communication (IPC) has been studied for many years.
... Historically, the study began in single processor systems. Numerous communication and synchronization mechanisms were developed. Among these, test-and-set, semaphores, shared memory, message passing, and monitors have been used widely. IPC has formed the basis for extending many operating systems into distributed operating systems; communications mechanisms were selected to adapt single machine systems to interact with each other. Typically a special process, called a "network server", provided host-to-host communication and encapsulated the details of the network protocols. In many systems, the interface to the network server used the system's standard IPC calls. This approach appears to be much simpler than building a truly distributed OS kernel. Throughout IPC has been used as an encapsulation or abstraction mechanism. In distributed systems the development of mechanisms for communication and synchronization has traditionally taken one of two approaches: language oriented or system oriented. This paper will examine the latter approach in the context of a UNIX-based system called Locus. First, however, we must turn our attention to the UNIX system and examine the interprocess communication mechanisms that have been traditionally provided.