Our implementation has assumed intra-machine IPC. Distributed systems require communication between remote machines. For instance a long-haul network that supports remote file copy requires communication between the remote and local process involved in the file copy, a local-area network that supports file servers needs to support communication between a client and a file server, and a multicomputer OS needs to be able to support communication between arbitrary processes running on different machines.
One of the important concepts behind network communication is layering.
The hardware provides the most primitive layer of network communication.
Layers on top embellish this communication.
We will look at both the hardware (or physical) layer and
embellishments to it.