home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / bsd_srcs / share / doc / ps1 / 08.ipc / 1.t < prev    next >
Encoding:
Text File  |  1991-04-17  |  4.9 KB  |  109 lines

  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, with or without
  5. .\" modification, are permitted provided that the following conditions
  6. .\" are met:
  7. .\" 1. Redistributions of source code must retain the above copyright
  8. .\"    notice, this list of conditions and the following disclaimer.
  9. .\" 2. Redistributions in binary form must reproduce the above copyright
  10. .\"    notice, this list of conditions and the following disclaimer in the
  11. .\"    documentation and/or other materials provided with the distribution.
  12. .\" 3. All advertising materials mentioning features or use of this software
  13. .\"    must display the following acknowledgement:
  14. .\"    This product includes software developed by the University of
  15. .\"    California, Berkeley and its contributors.
  16. .\" 4. Neither the name of the University nor the names of its contributors
  17. .\"    may be used to endorse or promote products derived from this software
  18. .\"    without specific prior written permission.
  19. .\"
  20. .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  21. .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  22. .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  23. .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  24. .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  25. .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  26. .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  27. .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  28. .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  29. .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  30. .\" SUCH DAMAGE.
  31. .\"
  32. .\"    @(#)1.t    5.1 (Berkeley) 4/17/91
  33. .\"
  34. .\".ds LH "4.3BSD IPC Primer
  35. .\".ds RH Introduction
  36. .\".ds RF "Leffler/Fabry/Joy
  37. .\".ds LF "\*(DY
  38. .\".ds CF "
  39. .nr H1 1
  40. .LP
  41. .bp
  42. .LG
  43. .B
  44. .ce
  45. 1. INTRODUCTION
  46. .sp 2
  47. .R
  48. .NL
  49. One of the most important additions to UNIX in 4.2BSD was interprocess
  50. communication.
  51. These facilities were the result of
  52. more than two years of discussion and research.  The facilities
  53. provided in 4.2BSD incorporated many of the ideas from current
  54. research, while trying to maintain the UNIX philosophy of
  55. simplicity and conciseness.
  56. The current release of Berkeley UNIX, 4.3BSD,
  57. completes some of the IPC facilities
  58. and provides an upward-compatible interface.
  59. It is hoped that the interprocess communication
  60. facilities included in 4.3BSD will establish a
  61. standard for UNIX.  From the response to the design,
  62. it appears many organizations carrying out
  63. work with UNIX are adopting it.
  64. .PP
  65. UNIX has previously been very weak in the area of interprocess
  66. communication.  Prior to the 4BSD facilities, the only
  67. standard mechanism which allowed two processes to communicate were
  68. pipes (the mpx files which were part of Version 7 were
  69. experimental).  Unfortunately, pipes are very restrictive
  70. in that
  71. the two communicating processes must be related through a
  72. common ancestor.
  73. Further, the semantics of pipes makes them almost impossible
  74. to maintain in a distributed environment. 
  75. .PP
  76. Earlier attempts at extending the IPC facilities of UNIX have
  77. met with mixed reaction.  The majority of the problems have
  78. been related to the fact that these facilities have been tied to
  79. the UNIX file system, either through naming or implementation.
  80. Consequently, the IPC facilities provided in 4.3BSD have been
  81. designed as a totally independent subsystem.  The 4.3BSD IPC
  82. allows processes to rendezvous in many ways. 
  83. Processes may rendezvous through a UNIX file system-like
  84. name space (a space where all names are path names)
  85. as well as through a
  86. network name space.  In fact, new name spaces may
  87. be added at a future time with only minor changes visible
  88. to users.  Further, the communication facilities 
  89. have been extended to include more than the simple byte stream
  90. provided by a pipe.  These extensions have resulted
  91. in a completely new part of the system which users will need
  92. time to familiarize themselves with.  It is likely that as
  93. more use is made of these facilities they will be refined;
  94. only time will tell.
  95. .PP
  96. This document provides a high-level description
  97. of the IPC facilities in 4.3BSD and their use.
  98. It is designed to complement the manual pages for the IPC primitives
  99. by examples of their use.
  100. The remainder of this document is organized in four sections.  
  101. Section 2 introduces the IPC-related system calls and the basic model
  102. of communication.  Section 3 describes some of the supporting
  103. library routines users may find useful in constructing distributed
  104. applications.  Section 4 is concerned with the client/server model
  105. used in developing applications and includes examples of the
  106. two major types of servers.  Section 5 delves into advanced topics
  107. which sophisticated users are likely to encounter when using
  108. the IPC facilities.
  109.