Annotation of 43BSDReno/share/doc/ps1/08.ipc/1.t, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1986 The Regents of the University of California.
                      2: .\" All rights reserved.
                      3: .\"
                      4: .\" Redistribution and use in source and binary forms are permitted
                      5: .\" provided that the above copyright notice and this paragraph are
                      6: .\" duplicated in all such forms and that any documentation,
                      7: .\" advertising materials, and other materials related to such
                      8: .\" distribution and use acknowledge that the software was developed
                      9: .\" by the University of California, Berkeley.  The name of the
                     10: .\" University may not be used to endorse or promote products derived
                     11: .\" from this software without specific prior written permission.
                     12: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
                     13: .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
                     14: .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     15: .\"
                     16: .\"    @(#)1.t 1.4 (Berkeley) 3/7/89
                     17: .\"
                     18: .\".ds LH "4.3BSD IPC Primer
                     19: .\".ds RH Introduction
                     20: .\".ds RF "Leffler/Fabry/Joy
                     21: .\".ds LF "\*(DY
                     22: .\".ds CF "
                     23: .nr H1 1
                     24: .LP
                     25: .bp
                     26: .LG
                     27: .B
                     28: .ce
                     29: 1. INTRODUCTION
                     30: .sp 2
                     31: .R
                     32: .NL
                     33: One of the most important additions to UNIX in 4.2BSD was interprocess
                     34: communication.
                     35: These facilities were the result of
                     36: more than two years of discussion and research.  The facilities
                     37: provided in 4.2BSD incorporated many of the ideas from current
                     38: research, while trying to maintain the UNIX philosophy of
                     39: simplicity and conciseness.
                     40: The current release of Berkeley UNIX, 4.3BSD,
                     41: completes some of the IPC facilities
                     42: and provides an upward-compatible interface.
                     43: It is hoped that the interprocess communication
                     44: facilities included in 4.3BSD will establish a
                     45: standard for UNIX.  From the response to the design,
                     46: it appears many organizations carrying out
                     47: work with UNIX are adopting it.
                     48: .PP
                     49: UNIX has previously been very weak in the area of interprocess
                     50: communication.  Prior to the 4BSD facilities, the only
                     51: standard mechanism which allowed two processes to communicate were
                     52: pipes (the mpx files which were part of Version 7 were
                     53: experimental).  Unfortunately, pipes are very restrictive
                     54: in that
                     55: the two communicating processes must be related through a
                     56: common ancestor.
                     57: Further, the semantics of pipes makes them almost impossible
                     58: to maintain in a distributed environment. 
                     59: .PP
                     60: Earlier attempts at extending the IPC facilities of UNIX have
                     61: met with mixed reaction.  The majority of the problems have
                     62: been related to the fact that these facilities have been tied to
                     63: the UNIX file system, either through naming or implementation.
                     64: Consequently, the IPC facilities provided in 4.3BSD have been
                     65: designed as a totally independent subsystem.  The 4.3BSD IPC
                     66: allows processes to rendezvous in many ways. 
                     67: Processes may rendezvous through a UNIX file system-like
                     68: name space (a space where all names are path names)
                     69: as well as through a
                     70: network name space.  In fact, new name spaces may
                     71: be added at a future time with only minor changes visible
                     72: to users.  Further, the communication facilities 
                     73: have been extended to include more than the simple byte stream
                     74: provided by a pipe.  These extensions have resulted
                     75: in a completely new part of the system which users will need
                     76: time to familiarize themselves with.  It is likely that as
                     77: more use is made of these facilities they will be refined;
                     78: only time will tell.
                     79: .PP
                     80: This document provides a high-level description
                     81: of the IPC facilities in 4.3BSD and their use.
                     82: It is designed to complement the manual pages for the IPC primitives
                     83: by examples of their use.
                     84: The remainder of this document is organized in four sections.  
                     85: Section 2 introduces the IPC-related system calls and the basic model
                     86: of communication.  Section 3 describes some of the supporting
                     87: library routines users may find useful in constructing distributed
                     88: applications.  Section 4 is concerned with the client/server model
                     89: used in developing applications and includes examples of the
                     90: two major types of servers.  Section 5 delves into advanced topics
                     91: which sophisticated users are likely to encounter when using
                     92: the IPC facilities.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.