Issue No. 11 - Nov. (1986 vol. 12)
David W. Stemple , Department of Computer and Information Science, University of Massachusetts, Amherst, MA 01003
Stephen T. Vinter , BBN Laboratories, Inc., 10 Moulton Street, Cambridge, MA 02238
Krithivasan Ramamritham , Department of Computer and Information Science, University of Massachusetts, Amherst, MA 01003
An interprocess communication facility provided by the kernel of the Gutenberg experimental operating system is presented. In Gutenberg all interprocess communication is via channels (ports) which are typed by the service which can be requested on them. Ports are created by reference to their service without using the identifier of the process providing the service, a technique we refer to as functional addressing. By using functional addressing, interprocess transfer of port use privileges, and the new concept of cooperation class introduced in this paper, arbitrary process interconnection topologies can be achieved without any explicit use of process identifiers by processes. We present examples of object sharing with abstract data type managers and data-driven protocols of database query execution to illustrate the methods of constructing systems of cooperating processes using the Gutenberg system.
Servers, Protocols, Kernel, Topology, Switches, port, Capabilities, functional addressing, interprocess communication, operating systems
D. W. Stemple, S. T. Vinter and K. Ramamritham, "Functional addressing in Gutenberg: Interprocess communication without process identifiers," in IEEE Transactions on Software Engineering, vol. 12, no. , pp. 1056-1066, 1986.