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.
The leading book in its field, this guide focuses on the design, development and coding of network software under the UNIX operating system. Provides over 15,000 lines of C code with descriptions of how and why a given solution is achieved. For programmers seeking an indepth tutorial on sockets, transport level interface (TLI), interprocess communications (IPC) facilities under System V and BSD UNIX.
A practical book that explains many of the details that have been considered a mystery, this guidebook focuses on the design, development, and coding of networking software under the UNIX operating system. It begins by showing how a fundamental basic for networking programming is interprocess communication (IPC), and a requisite for understanding IPC is a knowledge of what constitutes a process. Throughout, the text provides both a description and examples of how and why a particular solution is arrived at.
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.