Interprocess Communications in Linux: The Nooks and Crannies - page 2

Interprocess Communications in Linux : The Nooks & Crannies
By John  Shapley  Gray
Publisher : Prentice Hall PTR
Pub Date : January 13, 2003
ISBN : 0-13-046042-7 Copyright
      Chapter  1.   Programs and Processes
        Section 1.1.   Introduction
        Section 1.2.   Library Functions
        Section 1.3.   System Calls
        Section 1.4.   Linking Object Code
        Section 1.5.   Managing Failures
        Section 1.6.   Executable File Format
        Section 1.7.   System Memory
        Section 1.8.   Process Memory
        Section 1.9.   The u Area
        Section 1.10.   Process Memory Addresses
        Section 1.11.   Creating a Process
        Section 1.12.   Summary
        Section 1.13.   Key Terms and Concepts
      Chapter  2.   Processing Environment
        Section 2.1.   Introduction
        Section 2.2.   Process ID
        Section 2.3.   Parent Process ID
        Section 2.4.   Process Group ID
        Section 2.5.   Permissions
        Section 2.6.   Real and Effective User and Group IDs
        Section 2.7.   File System Information
        Section 2.8.   File Information
        Section 2.9.   Process Resource Limits
        Section 2.10.   Signaling Processes
        Section 2.11.   Command-Line Values
        Section 2.12.   Environment Variables
        Section 2.13.   The /proc Filesystem
        Section 2.14.   Summary
        Section 2.15.   Key Terms and Concepts
      Chapter  3.   Using Processes
        Section 3.1.   Introduction
        Section 3.2.   The fork System Call Revisited
        Section 3.3.   exec ' s Minions
        Section 3.4.   Using fork and exec Together
        Section 3.5.   Ending a Process
        Section 3.6.   Waiting on Processes
        Section 3.7.   Summary
        Section 3.8.   Key Terms and Concepts
      Chapter  4.   Primitive Communications
        Section 4.1.   Introduction
        Section 4.2.   Lock Files
        Section 4.3.   Locking Files
        Section 4.4.   More About Signals
        Section 4.5.   Signal and Signal Management Calls
        Section 4.6.   Summary
        Section 4.7.   Key Terms and Concepts
      Chapter  5.   Pipes
        Section 5.1.   Introduction
        Section 5.2.   Unnamed Pipes
        Section 5.3.   Named Pipes
        Section 5.4.   Summary
        Section 5.5.   Key Terms and Concepts
      Chapter  6.   Message Queues
        Section 6.1.   Introduction
        Section 6.2.   IPC System Calls: A Synopsis
        Section 6.3.   Creating a Message Queue
        Section 6.4.   Message Queue Control
        Section 6.5.   Message Queue Operations
        Section 6.6.   A ClientServer Message Queue Example
        Section 6.7.   Message Queue Class
        Section 6.8.   Summary
        Section 6.9.   Key Terms and Concepts
      Chapter  7.   Semaphores
        Section 7.1.   Introduction
        Section 7.2.   Creating and Accessing Semaphore Sets
        Section 7.3.   Semaphore Control
        Section 7.4.   Semaphore Operations
        Section 7.5.   Semaphore Class
        Section 7.6.   Summary
        Section 7.7.   Key Terms and Concepts
      Chapter  8.   Shared Memory
        Section 8.1.   Introduction
        Section 8.2.   Creating a Shared Memory Segment
        Section 8.3.   Shared Memory Control
        Section 8.4.   Shared Memory Operations
        Section 8.5.   Using a File as Shared Memory
        Section 8.6.   Shared Memory Class
        Section 8.7.   Summary
        Section 8.8.   Key Terms and Concepts
      Chapter  9.   Remote Procedure Calls
        Section 9.1.   Introduction
        Section 9.2.   Executing Remote Commands at a System Level
        Section 9.3.   Executing Remote Commands in a Program
        Section 9.4.   Transforming a Local Function Call into a Remote Procedure
        Section 9.5.   Debugging RPC Applications
        Section 9.6.   Using RPCGEN to Generate Templates and a MAKEFILE
        Section 9.7.   Encoding and Decoding Arbitrary Data Types
        Section 9.8.   Using Broadcasting to Search for an RPC Service
        Section 9.9.   Summary
        Section 9.10.   Key Terms and Concepts
      Chapter  10.   Sockets
        Section 10.1.   Introduction
        Section 10.2.   Communication Basics
        Section 10.3.   IPC Using Socketpair
        Section 10.4.   Sockets: The Connection-Oriented Paradigm
        Section 10.5.   Sockets: The Connectionless Paradigm
        Section 10.6.   Multiplexing I/O with select
        Section 10.7.   Peeking at Data
        Section 10.8.   Out of Band Messages
        Section 10.9.   Summary
        Section 10.10.   Key Terms and Concepts
      Chapter  11.   Threads
        Section 11.1.   Introduction
        Section 11.2.   Creating a Thread
        Section 11.3.   Exiting a Thread
        Section 11.4.   Basic Thread Management
        Section 11.5.   Thread Attributes
        Section 11.6.   Scheduling Threads
        Section 11.7.   Using Signals in Threads
        Section 11.8.   Thread Synchronization
        Section 11.9.   Thread-Specific Data
        Section 11.10.   Debugging Multithreaded Programs
        Section 11.11.   Summary
        Section 11.12.   Nomenclature and Key Concepts
      Appendix  A.   Using Linux Manual Pages
        Section A.1.   Manual Page Sections
        Section A.2.   Manual Page Format
        Section A.3.   Standard Linux System Calls
      Appendix  B.   UNIX Error Messages
      Appendix  C.   RPC Syntax Diagrams
        Section C.1.   Introduction
        Section C.2.   RPC Definitions
        Section C.3.   RPC Keywords
        Section C.4.   Some RPC Examples
      Appendix  D.   Profiling Programs
        Section D.1.   Introduction
        Section D.2.   Sample Program for Profiling
        Section D.3.   Generating Profile Data
        Section D.4.   Viewing and Interpreting Profile Data
      Appendix  E.   Bibliography