How is IPC implemented in the Android, MAC, Windows Operating systems?


Inter-process communication is a technique of exchanging data between two or more processes for performing some action on that data. These processes may be present on the same computer or at remote locations.

The reasons for Inter-process communication are as follows −

  • Sharing information between processes

  • Speed up the computation of some process

  • Increasing the modularity in the application

Now, let us learn about the type of inter-process communication implemented in the following OS.

Android

Android OS uses the following method for sharing data between two or more processes.

Binders

It is one of the ways of passing data between processes in the android operating system. The communication between the processes can be seen as some type of co-operation between them to execute some task.

A Binder is a Service class which allows other activities and services to bind with it. To provide the binding for a service, you must implement the onBind() call-back method.

The main advantage of the binders is that they not only allow sending data to the services but one can also invoke methods on them.

Mac OS

Here is one of the IPC mechanisms in Mac OS.

In distributed notification of inter-process communication, a notification centre manages the sending and receiving the data. All the client application needs them to be registered with the centre manager as an observer for some specific notification posted by others. When that specific object posted some notification on notification manager, it sends that notification to all the observers.

The main disadvantage of this type of communication is that the latency rate between the time needed for posting the data on notification centre to the arrival of notification to other observer processes may be high.

Windows

Like other operating systems, windows also use many types of inter-process communication.

Pipes

Pipes are one of the many mechanisms used to share data between two processes either on the same computer or on different computers.

There are two types of Pipes used for sharing data in Windows operating system, which are as follows −

  • Anonymous Pipes − Anonymous pipes are used to share data between related processes. Here a child process is shared between two processes to share the information between the processes. The pipes are unidirectional. So to have a bidirectional exchange of information between two processes we need to create two anonymous pipes.

  • Named Pipes − Named Pipes are used to exchange the data between the processes which are not related with each other i.e. they are residing on two different computers.

Solaris

Here is the one of the type of inter-process communication mechanism used by Solaris −

Solaris Doors

Solaris Doors is the advanced inter-process communication technique used by Solaris operating systems. These are lightweight, fast and used for sharing information between processes.

Working mechanism of Solaris Doors

  • It contains a door server waiting for a request from the door client.

  • A client invokes the door server with a small payload.

  • The door server processes the request and response back to the calling thread i.e. door client.

Updated on: 30-Nov-2021

462 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements