UNIX Network Programming, Volume 2: Interprocess Communications (2nd Edition)

Author: W. Richard Stevens
List Price: $66.00
Our Price: Click to see the latest and low price
ISBN: 0130810819
Publisher: Prentice Hall PTR (25 August, 1998)
Edition: Hardcover
Sales Rank: 29,743
Average Customer Rating: 4.62 out of 5

Buy now directly from Amazon.com - Purchase this book, safely and securely from the largest book dealer on the Internet, Amazon.com

Customer Reviews

Rating: 5 out of 5
Five star book on a four star subject
Since anyone considering buying a technical book always needs to know what it covers, here's the table of contents:

Part 1. Introduction

1. Introduction

2. Posix IPC

3. System V IPC

Part 2. Message Passing

4. Pipes and FIFOs

5. Posix Message Queues

6. System V Message Queues

Part 3. Synchronization

7. Mutexes and Condition Variables

8. Read-Write Locks

9. Record Locking

10. Posix Semaphores

11. System V Semaphores

Part 4. Shared Memory

12. Shared Memory Introduction

13. Posix Shared Memory

14. System V Shared Memory

Part 5. Remote Procedure Calls

15. Doors

16. Sun RPC

Epilogue

Appendix A. Performance Measurements

Appendix B. Threads Primer

Appendix C. Miscellaneous Source Code

Appendix D. Solutions to Selected Exercises

Bibliography

Index

This is the third and least of Stevens' three books on UNIX programming (he also coauthored a multi-volume work on TCP). It is the not the least because it is necessarily the worst, but because it has the shortest and has the narrowest application domain.

Having said it is the least, it remains a work of the highest quality in an industry that is notable for the huge quantity of bad books that it produces. The structure of this book will be familiar to readers of his prior two books: the lowest-level building block around which Stevens structures the book is the individual function call. For each call (or minor variations on a single call), he provides the C prototype, and then, in text, explains what the function does, what it's arguments are for, and then provides a small C program that demonstrates it in action (all of the sample programs can also be downloaded from the web). These function-level building blocks are arranged into related sets, each of which is a chapter in the book. Each chapter has a wrapper that explains the basic concepts behind the functions in that chapter, and some review exercises at the end. The chapters in turn build on each other, with the most basic ones at the beginning and the more difficult ones towards the end.

In spite of the book's many positive qualities, one thing that this book brings to light, however, is that there is a thread-sized hole in Stevens' UNIX writings. "Advanced Programming in the UNIX Environment" had a great deal of information about processes, but nothing about threads. "UNIX Network Programming: Volume 1", discussed multi-threaded socket programs, but didn't go into any depth on threading. This volume, although it discusses thread synchronization, only touches on general threading issues. Thus, the works, taken as a group, go into some of the important issues and uses of threading without giving the reader a solid grounding in the subject. As threading increases in frequency, this deficiency has grown in importance.

Another difference between this book and its predecessors is that it deals with an area where standards are much weaker than the others; thus, the chapters often have to explain different implementations for accomplishing a task rather than building a basic-to-advanced sequence. This obviously is in no way Stevens' fault, but many readers will find that half the book, which is already the thinnest of Stevens' programming books, is concerned with API's which do not exist on their platform of interest.

To sum up, while this review clearly shows the reservations I have about this book compared to its predecessors, it must still be stressed that Stevens' is a technical author of the highest level. If you do have a need to understand any of the subjects in this book, you won't find a better teacher from which to learn it, and that is why I am still giving the book five stars.


Rating: 5 out of 5
A must own for every serious programmer
This book is a must own for every serious programmer on the unix platform. It provides an insight on various forms of IPC APIs available on the unix platform. It provides coverage of both System V and POSIX standards, there is no match to it as far as IPC is concerned. The Appendices in the end also provide a performance comparison between pipes, FIFOs, posix message queues, System V message queues, doors and Sun RPC. I have not seen another book provide such a wide and deep coverage of this topic. What more - it all comes from the GURU himself!


Rating: 4 out of 5
Great book but lacks some vital information for IPC
great info about pipe, shared memory. need some more work but overall good to have this book. It is sad that author of this book (GodFather of Unix) is no longer here. I learned very much from having this book. Some improvements have been made from earlier edition. This may not be the first book recommended for beginners.

Similar Products

· Programming with POSIX(R) Threads
· Unix Network Programming, Vol. 1: The Sockets Networking API, Third Edition
· The Implementation (TCP/IP Illustrated, Volume 2)
· Advanced Programming in the UNIX(R) Environment
· UNIX Network Programming

Return To Main Computer Book IndexSearch Our Entire Computer Book Catalog