Jump to content

Межпроцессное взаимодействие

(Перенаправлено из системы обмена сообщениями )
Система распределенных вычислений , которая соединяет множество персональных компьютеров через Интернет посредством межпроцессной сетевой связи.

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

IPC очень важен для процесса проектирования микроядер и наноядер , которые уменьшают количество функций, предоставляемых ядром. Эти функциональные возможности затем реализуются путем взаимодействия с серверами через IPC, что приводит к значительному увеличению объема связи по сравнению с обычным монолитным ядром. Интерфейсы IPC обычно включают в себя переменные аналитические структуры. Эти процессы обеспечивают совместимость многовекторных протоколов, на которых основаны модели IPC. [ 2 ]

Механизм IPC бывает синхронным или асинхронным. Примитивы синхронизации могут использоваться для обеспечения синхронного поведения с асинхронным механизмом IPC.

Различные подходы к IPC были адаптированы к различным требованиям к программному обеспечению , таким как производительность , модульность и системные условия, такие как пропускная способность сети и задержка . [ 1 ]

Метод Краткое описание Предоставляется ( операционными системами или другими средами)
Файл Запись, хранящаяся на диске, или запись, синтезируемая по требованию файловым сервером, к которой могут получить доступ несколько процессов. Большинство операционных систем
Файл связи Уникальная форма IPC конца 1960-х годов, которая больше всего напоминает Plan 9 . протокол 9P Дартмутская система разделения времени
Сигнал ; также асинхронная системная ловушка Системное сообщение, отправляемое от одного процесса к другому, обычно не используемое для передачи данных, а вместо этого используемое для удаленного управления партнерским процессом. Большинство операционных систем
Розетка Данные передаются через сетевой интерфейс либо в другой процесс на том же компьютере, либо на другой компьютер в сети. Потоково-ориентированный ( TCP ; данные, записываемые через сокет, требуют форматирования для сохранения границ сообщения) или, реже, ориентированный на сообщения ( UDP , SCTP ). Большинство операционных систем
Доменный сокет Unix Похож на интернет-сокет, но все взаимодействие происходит внутри ядра. Доменные сокеты используют файловую систему в качестве адресного пространства. Процессы ссылаются на сокет домена как на индексный дескриптор , и несколько процессов могут взаимодействовать с одним сокетом. Все операционные системы POSIX и Windows 10. [ 3 ]
Очередь сообщений Поток данных, аналогичный сокету, но обычно сохраняющий границы сообщений. Обычно они реализуются операционной системой и позволяют нескольким процессам читать и записывать в очередь сообщений без прямого подключения друг к другу. Большинство операционных систем
Анонимная трубка Однонаправленный канал данных, использующий стандартный ввод и вывод . Данные, записываемые в конец канала записи, буферизуются операционной системой до тех пор, пока они не будут прочитаны из конца канала чтения. Двусторонняя связь между процессами может быть достигнута за счет использования двух каналов в противоположных «направлениях». Все системы POSIX , Windows
Именованная труба Канал, который рассматривается как файл. Вместо использования стандартного ввода и вывода, как в случае с анонимным каналом, процессы пишут и читают из именованного канала, как если бы это был обычный файл. Все системы POSIX, Windows, AmigaOS 2.0+.
Общая память Многим процессам предоставляется доступ к одному и тому же блоку памяти , что создает общий буфер для взаимодействия процессов друг с другом. Все системы POSIX, Windows
Передача сообщений Позволяет нескольким программам взаимодействовать с использованием очередей сообщений и/или каналов, не управляемых ОС. Обычно используется в моделях параллелизма. Используется в LPC , RPC , RMI и MPI парадигмах , Java RMI , CORBA , COM , DDS , MSMQ , MailSlots , QNX и других.
Файл, отображаемый в памяти Файл, сопоставленный с оперативной памятью , может быть изменен путем непосредственного изменения адреса памяти, а не вывода в поток. Он имеет те же преимущества, что и стандартный файл . Все системы POSIX, Windows

Приложения

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

Интерфейсы удаленного вызова процедур

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

Стек связи платформы

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

Ниже приведены системы обмена сообщениями и информационные системы, которые используют механизмы IPC, но сами не реализуют IPC:

Стек связи операционной системы

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

Ниже приведены API-интерфейсы, специфичные для платформы или языка программирования:

Распределенные объектные модели

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

Ниже приведены API-интерфейсы, специфичные для платформы или языка программирования, которые используют IPC, но сами не реализуют его:

См. также

[ редактировать ]
  • Стивенс, Ричард . Сетевое программирование UNIX, Том 2, Второе издание: Межпроцессные коммуникации. Прентис Холл, 1999. ISBN   0-13-081081-9
  • У. Рамачандран, М. Соломон, М. Вернон Аппаратная поддержка межпроцессного взаимодействия. Материалы 14-го ежегодного международного симпозиума по компьютерной архитектуре. Питтсбург, Пенсильвания, США. Страницы: 178 - 188. Год издания: 1987. ISBN   0-8186-0776-9
  • Кровелла, М. Бьянкини, Р. ЛеБлан, Т. Маркатос, Э. Вишневски, Р. Использование соотношения количества коммуникаций и вычислений при разработке параллельных программ и прогнозировании производительности, 1–4 декабря 1992 г., стр. 238–245. ISBN   0-8186-3200-3
  1. ^ Jump up to: а б «Межпроцессные коммуникации» . Майкрософт.
  2. ^ Камурати, П. (1993). «Межпроцессное взаимодействие для проектирования системного уровня». Международный семинар по кодированию аппаратного и программного обеспечения .
  3. ^ «Взаимодействие Windows/WSL с AF_UNIX» . Майкрософт. 7 февраля 2018 года . Проверено 25 мая 2018 г.
  4. ^ " Параллельное программирование - связь между процессами "
  5. ^ «IpcMain | Электрон» .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b8c6399ec87aa9396769f90a2eb40a59__1722361500
URL1:https://arc.ask3.ru/arc/aa/b8/59/b8c6399ec87aa9396769f90a2eb40a59.html
Заголовок, (Title) документа по адресу, URL1:
Inter-process communication - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)