Synopses & Reviews
Don't miss the rest of the series!
- Vol. 1, Networking APIs: Sockets and XTI
- Vol. 3, Applications (forthcoming)
The only guide to UNIX(r) interprocess communications you'll ever need!
Well-implemented interprocess communications (IPC) are key to the performance of virtually every non-trivial UNIX program. In UNIX Network Programming, Volume 2, Second Edition, legendary UNIX expert W. Richard Stevens presents a comprehensive guide to every form of IPC, including message passing, synchronization, shared memory, and Remote Procedure Calls (RPC).
Stevens begins with a basic introduction to IPC and the problems it is intended to solve. Step-by-step you'll learn how to maximize both System V IPC and the new Posix standards, which offer dramatic improvements in convenience and performance. You'll find extensive coverage of Pthreads, with many examples reflecting multiple threads instead of multiple processes. Along the way, you'll master every current IPC technique and technology, including:
- Pipes and FIFOs.
- Posix and System V Message Queues
- Mutexes and Condition Variables
- Read-Write Locks
- Record Locking
- Posix and System V Semaphores
- Posix and System V Shared Memory
- Solaris Doors and Sun RPC
- Performance Measurements of IPC Techniques
If you've read Stevens' best-selling first edition of UNIX Network Programming, this book expands its IPC coverage by a factor of five! You won't just learn about IPC "from the outside." You'll actually create implementations of Posix message queues, read-write locks, and semaphores, gaining an in-depth understanding of these capabilities you simply can't get anywhere else.
The book contains extensive new source code-all carefully optimized and available on the Web. You'll even find a complete guide to measuring IPC performance with message passing bandwidth and latency programs, and thread and process synchronization programs.
The better you understand IPC, the better your UNIX software will run. One book contains all you need to know: UNIX Network Programming, Volume 2, Second Edition.
This volume is a complete rewrite and expansion of Chapters 3 and 18 from the 1990 edition of UNIX Network Programming. In additional to covering the three forms of System V IPC (message queues, semaphores and shared memory), Stevens systematically reviews the superior new POSIX functions that implement each form of IPX. POSIX functions for synchronization are also covered, including mutex locks, condition variables, and read-write locks. Stevens shows how these can be used to synchronize threads, processes, and access to shared memory.
About the Author
W. RICHARD STEVENS is author of UNIX Network Programming, First Edition, widely recognized as the classic text in UNIX networking. He is also author of Advanced Programming in the UNIX Environment and the TCP/IP Illustrated Series. Stevens is an acknowledged UNIX and networking expert, sought-after Instructor, and occasional consultant.
Table of Contents
I. INTRODUCTION. 1. Introduction.
2. Posix IPC.
3. System V IPC.
II. MESSAGE PASSING. 4. Pipes and FIFOs.
5. Posix Message Queues.
6. System V Message Queues.
III. SYNCHRONIZATION. 7. Mutexes and Condition Variables.
8. Read-Write Locks.
9. Record Locking.
10. Posix Semaphores.
11. System V Semaphores.
IV. SHARED MEMORY. 12. Shared Memory Introduction.
13. Posix Shared Memory.
14. System V Shared Memory.
V. REMOTE PROCEDURE CALLS. 15. Doors.
16. Sun RPC.
Appendix A: Performance Measurements.
Appendix B: A Threads Primer.
Appendix C: Miscellaneous Source Code.
Appendix D: Solutions to Selected Exercises.