878 Chapter 43
Although some of these facilities are concerned with synchronization, the general
term interprocess communication (IPC) is often used to describe them all.Figure 43-1: A taxonomy of UNIX IPC facilitiesAs Figure 43-1 illustrates, often several facilities provide similar IPC functionality.
There are a couple of reasons for this:z Similar facilities evolved on different UNIX variants, and later came to be
ported to other UNIX systems. For example, FIFOs were developed on System V,
while (stream) sockets were developed on BSD.
z New facilities have been developed to address design deficiencies in similar
earlier facilities. For example, the POSIX IPC facilities (message queues, sema-
phores, and shared memory) were designed as an improvement on the older
System V IPC facilities.communicationdata
transfermessagebyte
streamshared
memorysynchronizationsemaphorefile lockfcntl())flock())signalpseudoterminalanonymous
mapping