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