Анонимный канал

редактировать

В информатике, анонимный канал - это симплекс канал связи FIFO, который может использоваться для одностороннего межпроцессного взаимодействия (IPC). Реализация часто интегрируется в подсистему IO операционной системы. Обычно родительская программа открывает анонимные каналы и создает новый процесс, который наследует другие концы каналов, или создает несколько новых процессов и размещает их в конвейере.

Полнодуплексный (двусторонний) для связи обычно требуется два анонимных канала.

Конвейеры поддерживаются в большинстве популярных операционных систем, начиная с Unix и DOS и далее, и создаются с использованием символа «|» во многих снаряды.

Содержание
  • 1 Unix
  • 2 Microsoft Windows
  • 3 См. Также
  • 4 Ссылки
  • 5 Примечания
Unix

Конвейеры являются важной частью многих традиционных Приложения Unix и их поддержка хорошо интегрированы в большинство Unix-подобных операционных систем. Каналы создаются с помощью системного вызова pipe, который создает новый канал и возвращает пару файловых дескрипторов , относящихся к концам канала для чтения и записи. Многие традиционные программы Unix разработаны как фильтры для работы с конвейерами.

Microsoft Windows

Как и многие другие средства ввода-вывода устройств и IPC в Windows API, анонимные каналы создаются и настраиваются с помощью функций API, специфичных для средства ввода-вывода. В этом случае CreatePipeиспользуется для создания анонимного канала с отдельными дескрипторами для чтения и записи на концах канала. Операции ввода-вывода чтения и записи в канале выполняются с помощью стандартных функций API средства ввода-вывода ReadFileи WriteFile.

В Microsoft Windows чтение и запись в анонимные каналы всегда выполняются. блокировка. Другими словами, чтение из пустого канала приведет к тому, что вызывающий поток будет ждать, пока не станет доступен хотя бы один байт или не будет получен конец файла в результате того, что дескриптор записи канала будет закрыто. Точно так же запись в полный канал заставит вызывающий поток ждать, пока не станет доступным пространство для хранения записываемых данных. Чтения могут возвращаться с меньшим, чем запрошенное количество байтов (также называемое коротким чтением).

Новые процессы могут наследовать дескрипторы анонимных каналов в процессе создания.

См. Также
Ссылки
  • Харт, Джонсон М. Системное программирование Windows, третье издание. Addison-Wesley, 2005. ISBN 0-321-25619-0
  • "pipe (7) - Linux man page". Архивировано из оригинала 23 марта 2010 г. Дата обращения 27 февраля 2010 г.
Примечания
Последняя правка сделана 2021-06-11 17:17:41
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте