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

Межпроцессное взаимодействие ( англ. i nter- p rocess c ommunication , IPC ) — обмен данными между потоками одного или разных процессов . Реализуется посредством механизмов, предоставляемых ядром ОС или процессом , использующим механизмы ОС и реализующим новые возможности IPC. Может осуществляться как на одном компьютере, так и между несколькими компьютерами сети .

Из механизмов, предоставляемых ОС и используемых для IPC, можно выделить:

Для оценки производительности различных механизмов IPC используют следующие параметры:

  • пропускная способность (количество сообщений в единицу времени, которое ядро ОС или процесс способно обработать);
  • задержки (время между отправкой сообщения одним потоком и его получением другим потоком).

IPC может называться терминами межпотоковое взаимодействие ( англ. i nter- t hread c ommunication ) и межпрограммное взаимодействие ( англ. i nter- a pplication c ommunication ).

Межпроцессное взаимодействие, наряду с механизмами адресации памяти , является основой для разграничения адресного пространства между процессами .

Таблица методов межпроцессного взаимодействия

Метод Реализуется ОС или процессом
Файл Все ОС .
Сигнал Большинство ОС ; в некоторых ОС , например, в Windows , сигналы доступны только в библиотеках, реализующих стандартную библиотеку языка Си , и не могут использоваться для IPC.
Сокет Большинство ОС .
Канал Все ОС , совместимые со стандартом POSIX .
Именованный канал Все ОС , совместимые со стандартом POSIX .
Неименованный канал Все ОС , совместимые со стандартом POSIX .
Семафор Все ОС , совместимые со стандартом POSIX .
Разделяемая память Все ОС , совместимые со стандартом POSIX .
Обмен сообщениями
(без разделения)
Используется в парадигме MPI , Java RMI , CORBA и других.
Проецируемый в память файл (mmap) Все ОС , совместимые со стандартом POSIX . При использовании временного файла возможно возникновение гонки . ОС Windows также предоставляет этот механизм, но посредством API , отличающегося от API , описанного в стандарте POSIX .
Очередь сообщений (Message queue) Большинство ОС .
Почтовый ящик Некоторые ОС .

См. также

Примечания

  1. Йохен Лидтке ( нем. (англ.) ). от 18 марта 2009 на Wayback Machine // Proc. 15th ACM (SOSP). Декабрь 1995

Литература

  • . UNIX Network Programming, Volume 2, Second Edition: Interprocess Communications. Prentice Hall, 1999. ISBN 0-13-081081-9
  • U. Ramachandran, M. Solomon, M. Vernon Proceedings of the 14th annual international symposium on Computer architecture. Pittsburgh, Pennsylvania, United States. Pages: 178—188. Year of Publication: 1987 ISBN 0-8186-0776-9
  • Crovella, M. Bianchini, R. LeBlanc, T. Markatos, E. Wisniewski, R. 1-4 December 1992. pp. 238—245 ISBN 0-8186-3200-3

Ссылки

Источник —

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