FIFO – именованные каналы
FIFO очень похожи на каналы, поскольку являются однонаправленным средством передачи данных. Но при этом имеют имена, которые позволяют независимым процессам получить к этим объектам доступ. FIFO является отдельным типом файла. Именем FIFO является имя соответствующего ему файла.
Именованный канал используется как обыкновенный файл. При организации межзадачного взаимодействия одна программа должна открыть файл для чтения, а другая – для записи.
Для создания именованного канала используется системный вызов mkfifo() или из командной строки
Mkfifo /tmp/fifo
Теперь можно использовать канал так
В одном окне
Саt > /tmp/fifo
В другом
Cat < /tmp/fifo
Введенный в первом окне текст отразится во втором.
FIFO являются средством System V и не используются в BSD.
Именованные каналы Unix похожи на именованные каналы Win32. Однако, последние могут соединять процессы по сети, а в Unix для этого используются сокеты.
Сокеты
В отличие то канала, сокет – это устройство двунаправленного взаимодействия, которое предназначено для связи процессов, расположенных на одном или на разных компьютерах.
Сокеты образуют пользовательский интерфейс с сетью как телефонные розетки или почтовые ящики.
Взаимодействие сокетов носит клиент-серверный характер.

Рисунок 3.11 - Использование сокетов
Как только созданы сокеты на двух компьютерах, можно установить соединение. Функции установленного соединения аналогичны функциям канала (чтение, запись по дескриптору файла для сокета)