Programs must sometimes handle conflicting requirements. For example, a program may need to perform lengthy calculations while simultaneously monitoring a transaction that requires frequent service. If this program is broken up into several processes, one process can be dedicated to monitoring the transaction, ensuring that it gets the constant attention it requires. Other processes can perform other CPU-intensive functions. These processes can
coordinate their efforts through the use of the IPC facility.