Interprocess Communication: Methods



Prerequisite – Inter Process Communication,
Interprocess communication (IPC) is set of interfaces, which is usually programmed in order for the programs to communicate between series of processes. This allows running f program concurrently in an Operating System. These are methods in IPC:

  1. Pipes (Same Process) –
    This allows flow of data in one direction only. Analogous to simplex systems (Keyboard). Data from the output is usually buffered until input process receives it which must have a common origin.
  2. Names Pipes (Different Processes) –
    This is a pipe with a specific name it can be used in processes that don’t have a shared common process origin. E.g. is FIFO where the datails written to a pipe is first named.
  3. Message Queuing –
    This allows messages to be passed between processes using either a single queue or several message queue. This is managed by system kernel this messages are co-ordinated using an API.

  4. Semaphores –
    This is used in solving problems associated with synchronization and to avoid race condition. These are integer values which are greater than or equal to 0.

  5. Shared memory –
    This allows interchange of data through a defined area of a memory. Semaphore values has to be obtained before data can get access to a shared memory.

  6. Sockets –
    This method is mostly used to communicate over a network between a client and a server. It allows for a standard connection which is computer and OS independent.


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.