|
| Login | Sign up | My Wish List |
![]() | UNIX Network Programming, Volume 2: Interprocess Communications (2nd Edition) (The Unix Networking Reference Series , Vol 2) by W. Richard Stevens ISBN-10: 0130810819 ISBN-10: 0-13-081081-9 ISBN-13: 9780130810816 ISBN-13: 978-0-13-081081-6 Hardcover 1998-09-04 Prentice Hall PTR Find Lowest Price | |
Editorials | ||
Amazon.com The first volume of Unix Network Programming, Networking APIs: Sockets and XTI covers just about everything you need to know to get your applications to talk to other computers on a network. In this second volume, W. Richard Stevens discusses what you need to know to get your applications to talk to other applications running on your computer. There's a big difference, and Stevens covers it well. Stevens introduces the reader to the internal structures of Posix interprocess communication (IPC) and System V (SysV) IPC; pipes and first in, first outs (FIFOs); message queues; how to lock and unlock files and records; semaphores; shared memory; and remote procedure calls (RPCs). He explains the difference between the Posix and SysV implementations of semaphores, message queues, and shared memory. There are also plenty of notes and examples for the reader. This book is invaluable for programmers because it explains all of those little "gotchas" that always seem to pop up. In addition, the explanations of the differences between Posix IPC and SysV IPC really help readers decide which version they'd like to use for their applications. --Doug Beaver | ||
Reviews | ||
If you want to program in Linux you need this book. Programming UNIX or Linux networks is a piece of cake with these books. You need the set, Vol 1 & 2. As a professional programmer of 20 years I use the book as a refernce for all my new programs. I have used the books to break into the world of VoIP and audio CODEC network programming. | ||
Classic work - but in series need of updates as time goes on I cannot fathom a guess as to how many times the books in this series have saved my in project work over the years. The only drawback with this series is that some publisher should endeavor to keep them up to date. Serious Unix system programmers must have copies of the complete series. | ||
The real power of UNIX is in communication The real power of UNIX or any application for that matter is in interprocess communication. I found early on that to accomplish any large project would require the cooperation of interprocess communication. Now I find that simple administration skills also require knowledge of this interprocess communication. My first foray into the field was to use semaphores to flag processes to run at the proper time. Later I needed to use pipes for a front-end in communication to SNA. Again I found IPC's could help inform and control processes that were in canned packages and not accessible any other way. The list of useful tools can go on and on. I also had to find the NT equivalent as it became popular. UNIX is still out there in many forms and if one is to survive in the field an understanding of interprocess communications is imperative. The Abbreviated 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 One final note is that with systems dispersed globally Remote Procedures Calls are taking precedence in Interprocess communications. | ||
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. | ||
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! | ||