Site home page
(news and notices)

Get alerts when Linktionary is updated

Book updates and addendums

Get info about the Encyclopedia of Networking and Telecommunicatons, 3rd edition (2001)

Download the electronic version of the Encyclopedia of Networking, 2nd edition (1996). It's free!

Contribute to this site

Electronic licensing info



IPC (Interprocess Communication)

Related Entries    Web Links    New/Updated Information

Search Linktionary (powered by FreeFind)

Note: Many topics at this site are reduced versions of the text in "The Encyclopedia of Networking and Telecommunications." Search results will not be as extensive as a search of the book's CD-ROM.

IPC is a communication process used between programs and processes running in multitasking operating systems or between networked computers. There are two types of IPCs:

  • LPC (local procedure call)    LPCs are used in multitasking operating systems to allow concurrently running tasks to talk to one another. They can share memory spaces, synchronize tasks, and send messages to one another.

  • RPC (remote procedure call)    RPCs are similar to the LPC but work over networks. RPCs provide mechanisms that clients use to communicate requests for services to another network-attached system such as a server. If you think of a client/server application as a program that has been split between front-end and back-end systems, the RPC can be viewed as the component that reintegrates them over the network. RPCs are sometimes called coupling mechanisms.

One of the advantages of using IPCs is that programs can take advantage of processes handled by other programs or computers. The client/server model takes advantage of RPCs, as do distributed object architectures such as Microsoft's DCOM (Distributed Component Object Model) and CORBA (Common Object Request Broker Architecture).

The normal interprocess communication mechanism in UNIX is the pipe, and the socket is the interprocess communication mechanism that works across networks. It became a part of UNIX when the TCP/IP protocol stack was integrated into Berkeley UNIX in the early 1980s. This was a project funded by DARPA.

The IPC features described here are used if programs need to communicate with one another or share memory areas:

  • Shared memory    Processes can exchange values in shared memory. The memory becomes a sort of bulletin board where processes can post status information and data that needs to be shared.

  • Queues    A queue IPC is a structured and ordered list of memory segments where processes store or retrieve data.

  • Semaphores    A semaphore provides a synchronizing mechanism for processes that are accessing the same resource. No data is passed with a semaphore-it simply coordinates access to shared resources.

  • Pipes    A pipe provides a way for processes to communicate with one another by exchanging messages. Named pipes provide a way for processes running on different computer systems to communicate over the network. Mail slots is a store-and-forward messaging system that doesn't require stations to synchronize with one another.

Copyright (c) 2001 Tom Sheldon and Big Sur Multimedia.
All rights reserved under Pan American and International copyright conventions.