- Operating System Tutorial
- OS - Home
- OS - Overview
- OS - Components
- OS - Types
- OS - Services
- OS - Properties
- OS - Processes
- OS - Process Scheduling
- OS - Scheduling algorithms
- OS - Multi-threading
- OS - Memory Management
- OS - Virtual Memory
- OS - I/O Hardware
- OS - I/O Software
- OS - File System
- OS - Security
- OS - Linux
- OS - Exams Questions with Answers
- OS - Exams Questions with Answers
- Operating System Useful Resources
- OS - Quick Guide
- OS - Useful Resources
- OS - Discussion
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 OS uses the following method for sharing data between two or more processes.
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.
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.
Like other operating systems, windows also use many types of inter-process communication.
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.
Here is the one of the type of inter-process communication mechanism used by Solaris −
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.
- Related Articles
- How do you handle End-of-Line characters in Git on Windows / Linux / Mac Operating Systems?
- What is microKernel in Operating Systems?
- What is the importance of operating systems?
- How IPC between a user application and an OS Subsystem in Windows?
- What is process creation in Operating Systems?
- Difference between Mac and Windows
- Open Source Operating Systems
- What is the Windows 2000 Operating System in Computer Network?
- How did the Windows operating system evolve and compare Windows 10 and Ubuntu?
- Operating Systems Client/Server Communication
- What are the features of Operating Systems?
- What is the history of the windows operating system and MSDOS?
- What are interrupts and how interrupt handling is done in modern operating systems?
- How to open a port in the Windows Operating System using PowerShell?
- What are the different types of Operating Systems?