Jump to content

Анонимная трубка

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

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

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

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

Microsoft Windows

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

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

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

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

См. также

[ редактировать ]
  • Харт, Джонсон М. Системное программирование для Windows, третье издание. Аддисон-Уэсли, 2005 г. ISBN   0-321-25619-0
  • «pipe(7) — справочная страница Linux» . Архивировано из оригинала 23 марта 2010 года . Проверено 27 февраля 2010 г.

Примечания

[ редактировать ]
  1. ^ «Анонимные операции с трубами» . MSDN . Проверено 27 февраля 2010 г. Асинхронные (перекрывающиеся) операции чтения и записи не поддерживаются анонимными каналами.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 65a738ad2efb5e38294adf6544e46d94__1585991220
URL1:https://arc.ask3.ru/arc/aa/65/94/65a738ad2efb5e38294adf6544e46d94.html
Заголовок, (Title) документа по адресу, URL1:
Anonymous pipe - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)