Overview of IPC and its importance in modern computing
Most software has a user interface. After all, that is how the user should interact with the application. The user clicks buttons, enters text, and reads the response on the screen. The screen is how data, the user, and the application exchange data and instructions.
People do not use systems software. Other software does. So, it needs a different way to interact. I suppose it would technically be possible to write a regular user interface and use tricks to read or enter data, but that is not really efficient.
Applications communicate differently when they are talking amongst themselves. They have their own language and their own protocols. This is what IPC is all about – the communication between processes.
Given the nature of systems, we must consider several key points when designing the interface between systems. We make different choices when designing this interface than if we were designing a user interface...