IPC Full Form | What is Interprocess Communication

What is the full form of IPC?


IPC: Interprocess Communication

IPC stands for Interprocess Communication. As the name suggests, it is a technology that enables multiple threads in one or more processes to communicate with each other. It allows the exchange of data between multiple threads of one or different processes or systems connected via a network.

enables multiple threads in one or more processes to communicate with each otherenables multiple threads in one or more processes to communicate with each otherIPC Full Form

This technology can also handle multiple requests simultaneously which means it can be used for sharing data between threads in a single or multiple processes. IPC is used by operating systems to share a large amount of data. However, it is not supported by a single process operating system like DOS and it can also affect performance.

In this technology, the requests are synchronized and implemented simultaneously. So, all the processes run smoothly and communicate with each other without affecting each other and cooperating with each other. Thus, it enables a programmer to coordinate the activities of different programs that are running simultaneously in an operating system. Using this technology, a program can handle multiple requests of users simultaneously.

Characteristics of IPC:

  • Synchronous or Asynchronous communication: A message is added to remote queues by sending process, whereas, it is removed by the receiving process from the local queues. This communication between these two processes can be synchronous or asynchronous.
  • Message destinations: It is a local port that remains in the computer and is known as an integer. It has one receiver and multiple senders.
  • Reliability: It is reliable communication. The message is sent securely without any loss in packets and any duplication or corruption.
  • Ordering: The messages should be sent only in sender order.
  • Synchronous or Asynchronous communication: A message is added to remote queues by sending process, whereas, it is removed by the receiving process from the local queues. This communication between these two processes can be synchronous or asynchronous.
  • Synchronous or Asynchronous communication
  • Message destinations: It is a local port that remains in the computer and is known as an integer. It has one receiver and multiple senders.
  • Message destinations
  • Reliability: It is reliable communication. The message is sent securely without any loss in packets and any duplication or corruption.
  • Reliability
  • Ordering: The messages should be sent only in sender order.
  • Ordering

    Advantages of IPC:

    • It makes information sharing possible simultaneously between different programs.
    • A task can be separated into subtasks and run on separate processors and then using IPC exchange of information can take place.
    • In IPC, it is easy to maintain and debug the program as it can be separated into different chunks of code, which can function independently.
    • The programmer can perform various other tasks simultaneously such as listening to music, editing, compiling, and more.
  • It makes information sharing possible simultaneously between different programs.
  • A task can be separated into subtasks and run on separate processors and then using IPC exchange of information can take place.
  • In IPC, it is easy to maintain and debug the program as it can be separated into different chunks of code, which can function independently.
  • The programmer can perform various other tasks simultaneously such as listening to music, editing, compiling, and more.
  • Disadvantages of IPC:

    • It can be slow as compared to direct function calls.
    • It requires to write some messages passing APIs if you want to write an OS piece.
    • Some issues related to memory protection and synchronization may occur that should be resolved.
    • It does not allow the processors to write to the same memory location.
  • It can be slow as compared to direct function calls.
  • It requires to write some messages passing APIs if you want to write an OS piece.
  • Some issues related to memory protection and synchronization may occur that should be resolved.
  • It does not allow the processors to write to the same memory location.
  • Models of Interprocess communication:

    Shared Memory Model:

    Shared Memory Model:

    In this model, the multiple processors can share the given memory simultaneously and thus can communicate with each other. For example, Windows operating systems and POSIX systems use this model.

    Message Passing Model:

    Message Passing Model:

    In this model, the multiple processors can write and read data to the queue of messages independently or without connecting to each other. The message stays on the queue until it is retrieved by its recipient. This model of IPC is widely used by most of the operating systems.