Межпроцессный обмен. Характеристики.
IPC – Inter Process Communication.
Поскольку изначально процессы задумывались как обособленные сущности, то для их конкретного взаимодействия требуется специальные средства взаимодействия. В основе межпроцессорного обмена находится разделяемые ресурсы, в соответствии с которыми ОС должна предоставлять средства для создания, доступа, именования и защиты таких ресурсов.
Характеристики межпроцессорной связи
Направление связи:
• однонаправленная;
• двунаправленная;
• дуплексная (для одновременной передачи инфы в разных направлениях ).
Тип адресации:
• прямая (инфа отправляется непосредственно получателю);
• косвенная (инфа помещается в промежуточный буфер);
Модель передачи данных:
• потоковая;
• модель сообщений.
• объём передаваемой инфы и наличие буфера соответствующего размера.
Синхронность обмена данными:
• синхронный обмен (отправитель блокируется до получения адрессатом);
• асинхронный (не блокируется).
Межпроцессный обмен. Разделяемая память.
IPC – Inter Process Communication.
Поскольку изначально процессы задумывались как обособленные сущности, то для их конкретного взаимодействия требуется специальные средства взаимодействия. В основе межпроцессорного обмена находится разделяемые ресурсы, в соответствии с которыми ОС должна предоставлять средства для создания, доступа, именования и защиты таких ресурсов.
Разделяемая память
|
|
Два или более процессов совместно используют сегмент памяти. Общение происходит с помощью обычных операций копирования или перемещения данных в памяти.
В ОС Windows сегмент разделяемой памяти создается с помощью Win32-функции CreateFileMapping . В случае успешного выполнения данной функции создается ресурс - фрагмент памяти, доступный по имени (параметр lpname), который базируется на соответствующем объекте ядра - "объекте-файле, отображаемом в память" с присущими любому объекту атрибутами. Процессу-создателю возвращается описатель (handle) ресурса. Другие процессы, желающие иметь доступ к ресурсу, также должны получить его описатель. В данном случае это можно сделать с помощью функции OpenFileMapping, указав имя ресурса в качестве одного из параметров.
Межпроцессный обмен. Каналы. Анонимные каналы.
IPC – Inter Process Communication.
Поскольку изначально процессы задумывались как обособленные сущности, то для их конкретного взаимодействия требуется специальные средства взаимодействия. В основе межпроцессорного обмена находится разделяемые ресурсы, в соответствии с которыми ОС должна предоставлять средства для создания, доступа, именования и защиты таких ресурсов.
Каналы. Анонимные каналы
|
|
Основной принцип работы канала состоит в буферизации вывода одного процесса и обеспечении возможности чтения содержимого программного канала другим процессом. При этом часто интерфейс программного канала совпадает с интерфейсом обычного файла и реализуется обычными файловыми операциями read и write. Для обмена могут использоваться потоковая модель и модель обмена сообщениями.
Анонимные каналы в Windows - это полудуплексное средство потоковой передачи байтов между родственными процессами. Они функционируют в пределах локальной вычислительной системы и хорошо подходят для перенаправления выходного потока одной программы на вход другой. Анонимные каналы реализованы при помощи именованных каналов с уникальными именами.
Межпроцессный обмен. Каналы. Именованные каналы.
IPC – Inter Process Communication.
Поскольку изначально процессы задумывались как обособленные сущности, то для их конкретного взаимодействия требуется специальные средства взаимодействия. В основе межпроцессорного обмена находится разделяемые ресурсы, в соответствии с которыми ОС должна предоставлять средства для создания, доступа, именования и защиты таких ресурсов.
Каналы. Именованные каналы
Основной принцип работы канала состоит в буферизации вывода одного процесса и обеспечении возможности чтения содержимого программного канала другим процессом. При этом часто интерфейс программного канала совпадает с интерфейсом обычного файла и реализуется обычными файловыми операциями read и write. Для обмена могут использоваться потоковая модель и модель обмена сообщениями.
|
|
Именованные каналы являются объектами ядра ОС Windows, позволяющими организовать межпроцессный обмен не только в изолированной вычислительной системе, но и в локальной сети. Они обеспечивают дуплексную связь и позволяют использовать как потоковую модель, так и модель, ориентированную на сообщения. Обмен данными может быть синхронным и асинхронным.
Дата добавления: 2018-05-31; просмотров: 504; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!