updates for 4.3 from lapsley
[unix-history] / usr / src / share / doc / psd / 21.ipc / 1.t
CommitLineData
d60e8dff
MK
1.\" Copyright (c) 1986 Regents of the University of California.
2.\" All rights reserved. The Berkeley software License Agreement
3.\" specifies the terms and conditions for redistribution.
4.\"
5.\" @(#)1.t 1.2 (Berkeley) %G%
6.\"
7.ds LH "4.3BSD IPC Primer
200989e9
MK
8.ds RH Introduction
9.LP
10.nr H1 1
11.bp
12.ds RF "Leffler/Fabry/Joy
d60e8dff 13.ds LF "\*(DY
200989e9
MK
14.ds CF "
15.LG
16.B
17.ce
181. INTRODUCTION
19.sp 2
20.R
21.NL
d60e8dff 22One of the most important parts of 4.3BSD is the interprocess
200989e9
MK
23communication facilities. These facilities are the result of
24more than two years of discussion and research. The facilities
d60e8dff 25provided in 4.3BSD incorporate many of the ideas from current
200989e9
MK
26research, while trying to maintain the UNIX philosophy of
27simplicity and conciseness. It is hoped that
28the interprocess communication
d60e8dff 29facilities included in 4.3BSD will establish a
200989e9
MK
30standard for UNIX. From the response to the design,
31it appears many organizations carrying out
32work with UNIX are adopting it.
33.PP
34UNIX has previously been very weak in the area of interprocess
d60e8dff 35communication. Prior to the 4BSD facilities, the only
200989e9
MK
36standard mechanism which allowed two processes to communicate were
37pipes (the mpx files which were part of Version 7 were
38experimental). Unfortunately, pipes are very restrictive
39in that
40the two communicating processes must be related through a
41common ancestor.
42Further, the semantics of pipes makes them almost impossible
43to maintain in a distributed environment.
44.PP
d60e8dff 45Earlier attempts at extending the IPC facilities of UNIX have
200989e9 46met with mixed reaction. The majority of the problems have
d60e8dff 47been related to the fact that these facilities have been tied to
200989e9 48the UNIX file system; either through naming, or implementation.
d60e8dff
MK
49Consequently, the IPC facilities provided in 4.3BSD have been
50designed as a totally independent subsystem. The 4.3BSD IPC
200989e9
MK
51allows processes to rendezvous in many ways.
52Processes may rendezvous through a UNIX file system-like
53name space (a space where all names are path names)
54as well as through a
55network name space. In fact, new name spaces may
56be added at a future time with only minor changes visible
57to users. Further, the communication facilities
d60e8dff 58have been extended to include more than the simple byte stream
200989e9
MK
59provided by a pipe-like entity. These extensions have resulted
60in a completely new part of the system which users will need
61time to familiarize themselves with. It is likely that as
62more use is made of these facilities they will be refined;
63only time will tell.
64.PP
65The remainder of this document is organized in four sections.
66Section 2 introduces the new system calls and the basic model
67of communication. Section 3 describes some of the supporting
68library routines users may find useful in constructing distributed
69applications. Section 4 is concerned with the client/server model
70used in developing applications and includes examples of the
71two major types of servers. Section 5 delves into advanced topics
72which sophisticated users are likely to encounter when using
d60e8dff 73the IPC facilities.