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

редактировать
A grid computing система, которая соединяет множество персональных компьютеров через Интернет посредством межпроцессного сетевого взаимодействия

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

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

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

Содержание

  • 1 Подходы
  • 2 Приложения
    • 2.1 Интерфейсы удаленного вызова процедур
    • 2.2 Стек связи платформы
    • 2.3 Стек связи операционной системы
    • 2.4 Модели распределенных объектов
  • 3 См. Также
  • 4 Ссылки
  • 5 Внешние ссылки

Подходы

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

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

Приложения

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

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

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

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

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

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

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

См. Также

  • значок Портал компьютерного программирования

Ссылки

Внешние ссылки

Последняя правка сделана 2021-05-24 04:04:59
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте