*** Welcome to piglix ***

Interprocess communication


In computer science, inter-process communication or interprocess communication (IPC) refers specifically to the mechanisms an operating system provides to allow processes it manages to share data. Typically, applications can use IPC, categorized as clients and servers, where the client requests data and the server responds to client requests. Many applications are both clients and servers, as commonly seen in distributed computing. Methods for achieving IPC are divided into categories which vary based on software requirements, such as performance and modularity requirements, and system circumstances, such as network bandwidth and latency.

IPC is very important to the design process for microkernels and nanokernels. Microkernels reduce the number of functionalities provided by the kernel. Those functionalities are then obtained by communicating with servers via IPC, increasing drastically the number of IPC compared to a regular monolythic kernel.

The following are messaging and information systems that utilize IPC mechanisms, but don't implement IPC themselves:

The following are platform or programming language-specific APIs:


The following are platform or programming language specific-APIs that use IPC, but do not themselves implement it:


...
Wikipedia

...