Networking and Interprocess Communication

Processes run individually and work independently in their respective address spaces. However, they sometimes need to communicate with each other to pass on information. For processes to cooperate, they need to be able to communicate with each other as well as synchronize their actions. Here are the types of communication that take place between processes:

These communications can be unidirectional or bidirectional. To enable any form of communication between processes, the following popular interprocess communication (IPC) mechanisms are used: pipes, FIFOs (named pipes), sockets, message queues, and shared memory. Pipes and FIFO enable unidirectional communication, whereas sockets, message queues, and shared memory enable bidirectional communication. 

In this chapter, we will learn how to make the following recipes so that we can establish communication between processes:

Let's begin with the first recipe!