From the book lists at Adware Report: |
All information current as of 19:05:04 Pacific Time, Monday, 21 February 2005. UNIX Network Programming, Volume 2: Interprocess Communications (2nd Edition) by W. Richard Stevens Hardcover: Prentice Hall PTR 25 August, 1998 US$66.00 Usually ships in 24 hours Click the button below to . . . (which will add the book to your Amazon U.S.A. "Shopping Cart") . . . or use your browser's Back button to return to the search-list page. |
1. One huge monolithic program that does everything. The various pieces of the program can be implemented as functions that exchange information as function parameters, function return values, and global variables.
2. Multiple programs that communicate with each other using some form of IPC. Many of the standard Unix tools were designed in this fashion, using shell pipelines (a form of IPC) to pass information from one program to the next.
3. One program comprised of multiple threads that communicate with each other using some type of IPC. The term IPC describes this communication even though it is between threads and not between processes. Combinations of the second two forms of design are also possible: multiple processes, each consisting of one or more threads, involving communication between the threads within a given process and between the different processes.
1. message passing (pipes, FIFOs, and message queues),
2. synchronization (mutexes, condition variables, read-write locks, file and record locks, and semaphores),
3. shared memory (anonymous and named), and
4. remote procedure calls (Solaris doors and Sun RPC).