Game Development Reference
Less than 10% of the code has to do with the ostensible purpose of the system;
the rest deals with input-output, data validation, data structure maintenance,
and other housekeeping.
Inter-Process Communication, also known as IPC, addresses the techniques and
mechanisms that allow processes to communicate and share data with each other.
The processes can exist on the same machine or on a network. Now, why do
processes require special mechanisms to facilitate communication with each other?
If you ever took a class on operating system fundamentals, you should remember
that each running instance of a program, a process if you would, is allotted a
unique memory space by the operating system kernel. No memory spaces will ever
overlap, which allows for the safe operation of processes but prohibits processes
from sharing data with each other. This is the reason that a communication medi-
um is required to handle the exchange of data between applications.
Why do processes need to communicate? Well, the reason is not very apparent
simply because you do not notice the ongoing exchange of data between process-
es. If Inter-Process Communication were not possible and you, as a user, had to
manage the communication of shared data, the critical need for IPC mechanisms
would be perceptible.