Inter-process communication

From Wikipedia, the free encyclopedia

Jump to: navigation, search

Inter-Process Communication (IPC) is a set of techniques for the exchange of data among two or more threads in one or more processes. Processes may be running on one or more computers connected by a network. IPC techniques are divided into methods for message passing, synchronization, shared memory, and remote procedure calls (RPC). The method of IPC used may vary based on the bandwidth and latency of communication between the threads, and the type of data being communicated.

IPC may also be referred to as inter-thread communication and inter-application communication.

IPC, on pair with the address space concept, is the foundation for address space independence/isolation.[1]

Contents

There are a number of APIs which may be used for IPC. A number of platform independent APIs include the following:

The following are platform or programming language specific APIs:

Table of IPC Methods:

Method Provided by (Operating systems or other environments)
File All operating systems.
Signal Most operating systems; some systems, such as Windows, only implement signals in the C run-time library and do not actually provide support for their use as an IPC technique.
Socket Most operating systems.
Pipe All POSIX systems.
Named pipe All POSIX systems.
Semaphore All POSIX systems.
Shared memory All POSIX systems.
Message passing
(shared nothing)
Used in MPI paradigm, Java RMI, CORBA and others.
memory-mapped file All POSIX systems; may carry race condition risk if a temporary file is used. Windows also supports this technique but the APIs used are platform specific.
Message queue Most operating systems.
Mailbox Some operating systems.

  1. ^ Jochen Liedtke. On ยต-Kernel Construction, Proc. 15th ACM Symposium on Operating System Principles (SOSP), December 1995

Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.