Межпроцессный обмен. Характеристики.



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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!