Interprocess Communications in Linux

Interprocess Communications in Linux : The Nooks and Crannies

5 (1 rating by Goodreads)
By (author) 

List price: US$45.99

Currently unavailable

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks


Understanding the concepts of processes and interprocess communications (IPC) is fundamental to developing software for Linux. This book zeroes right in on the key techniques of processes and interprocess communication - from primitive communications to the complexities of sockets. It covers every aspect of UNIX/Linux interprocess communications in sufficient detail to allow experienced programmers to begin writing useful code immediately. The book also includes a precise description of the basics of network programming that make this one of the best introductory books on UNIX/Linux network programming using sockets. Grey explains exactly what processes are, how they are generated, how they can access their own environments, and how they can communicate with other processes. From beginning to end, the book truly leads you through the "nooks and crannies" of UNIX - making you a dramatically more effective programmer. Rave reviews for UNIX companion volume-- "I really like this book!!! Concepts that I only vaguely understood now make complete sense to me! The sample code and exercises are so good, they seem to clamp down on the concepts like a vise grip..." S. Lee Henry, Johns Hopkins University.
show more

Product details

  • Paperback | 624 pages
  • 176 x 232 x 36mm | 938.93g
  • Prentice Hall
  • Upper Saddle River, United States
  • English
  • 0130460427
  • 9780130460424
  • 2,146,895

Back cover copy

The "definitive" guide to Linux processes and IPC for programmers and system administrators Pipes, message queues, semaphores, shared memory, RPC, sockets, the /proc filesystem, and much more In-depth coverage of multithreading with POSIX compliant LinuxThreads Contains dozens of detailedprogram examples (GNU C/C++ 2.96/Red Hat Linux 7.3 & 8.0) Raves for Gray's companion UNIX(r) volume! "Concepts I only vaguely understood now make complete sense to me! The sample code and exercises are so good, they seem to clamp down on the concepts like a vise grip..." S. Lee Henry, Johns HopkinsUniversity The expert, example-rich guide to Linuxprocesses and IPC Serious Linux software developers need a sophisticated understanding of processes, system level programming andinterprocess communication techniques. Now, John Shapley Gray, author of the widely praised "Interprocess Communicationin UNIX, Second Edition, " zeroes in on the core techniques Linux uses to manage processes and IPC. With exceptionalprecision and great clarity, Gray explains what processes are, how they're generated, how they access their environments, how they communicate"and how to use them to build robust, high-performance systems." Includes extensive coverage of named/unnamed pipes, message queues, semaphores, and shared memory. Provides C++ classes for System V IPC facilities. Offers an in-depth introduction to socket-basedcommunication. Demystifies Linux's /proc file system. Illuminates the LinuxThreads POSIX threadimplementation and its use in multithreaded applications. Provides valuable tips and warnings, plus insight intokey differences amongst Linux and Unix implementations. Includes problem sets and illustrations designed toreinforce key concepts. Gray presents dozens of standalone program examples; all compiled with the GNU C/C++ compiler 2.96 & 3.2, and fullytested on PC platforms running Red Hat Linux 7.3 & 8.0. http: // "
show more

Table of contents



1. Programs and Processes.

Introduction. Library Functions. System Calls. Linking Object Code. Managing Failures. Executable File Format. System Memory. Process Memory. The u Area. Process Memory Addresses. Creating a Process. Summary. Key Terms and Concepts.

2. Processing Environment.

Introduction. Process ID. Parent Process ID. Process Group ID. Permissions. Real and Effective User and Group Ids. File System Information. File Information. Process Resource Limits. Signaling Processes. Command-Line Values. Environment Variables. The/proc Filesystem. Summary. Key Terms and Concepts.

3. Using Processes.

Introduction. The fork System Call Revisited. exec's Minions. Using fork and exec Together. Ending a Process. Waiting on Processes. Summary. Key Terms and Concepts.

4. Primitive Communications.

Introduction. Lock Files. Locking Files. More About Signals. Signal and Signal Management Calls. Summary. Key Terms and Concepts.

5. Pipes.

Introduction. Unnamed Pipes. Named Pipes. Summary. Key Terms and Concepts.

6. Message Queues.

Introduction. IPC System Calls: A Synopsis. Creating a Message Queue. Message Queue Control. Message Queue Operations. A Client-Server Message Queue Example. Message Queue Class. Summary. Key Terms and Concepts.

7. Semaphores.

Introduction. Creating and Accessing Semaphore Sets. Semaphore Control. Semaphore Operations. Semaphore Class. Summary. Key Terms and Concepts

8. Shared Memory.

Introduction. Creating a Shared Memory Segment. Shared Memory Control. Shared Memory Operations. Using a File as Shared Memory. Shared Memory Class. Summary. Key Terms and Concepts.

9. Remote Procedure Calls.

Introduction. Executing Remote Commands at a System Level. Executing Remote Commands in a Program. Transforming a Local Function Call into a Remote Procedure. Debugging RPC Applications. Using RPCGEN to Generate Templates and a MAKEFILE. Encoding and Decoding Arbitrary Data Types. Using Broadcasting to Search for an RPC Service. Summary. Key Terms and Concepts.

10. Sockets.

Introduction. Communication Basics. IPC Using Socketpair. Sockets: The Connection-Oriented Paradigm. Sockets: The Connectionless Paradigm. Multiplexing I/O with select. Peeking at Data. Out of Band Messages. Summary. Key Terms and Concepts.

11. Threads.

Introduction. Creating a Thread.Exiting a Thread. Basic Thread Management. Thread Attributes. Scheduling Threads. Using Signals in Threads. Thread Synchronization. Thread-Specific Data. Debugging Multithreaded Programs. Summary. Nomenclature and Key Concepts.

Appendix A. Using Linux Manual Pages.

Manual Page Sections. Manual Page Format. Standard Linux System Calls.

Appendix B. UNIX Error Messages.

Appendix C. RPC Syntax Diagrams.

Introduction. RPC Definitions. RPC Keywords. Some RPC Examples.

Appendix D. Profiling Programs.

Introduction. Sample Program for Profiling. Generating Profile Data. Viewing and Interpreting Profile Data.

Appendix E. Bibliography.

show more

About John Shapley Gray

JOHN SHAPLEY GRAY is Professor of Computer Science and Chair of the Interactive Information Technology degree program at the University of Hartford, West Hartford, CT, and principal of Gray Software Development. Gray has been actively involved with UNIX and its derivatives for over 20 years; his course on UNIX internals has become legendary amongst students and developers throughout the greater Hartford area. He is author of the best-selling Interprocess Communications in UNIX, Second Edition, and co-author of C++ Programmer's Notebook.
show more

Rating details

1 ratings
5 out of 5 stars
5 100% (1)
4 0% (0)
3 0% (0)
2 0% (0)
1 0% (0)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X