Огневое взаимодействие
- 1 year ago
- 0
- 0
Межпроцессное взаимодействие ( англ. 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) | Большинство ОС . |
Почтовый ящик | Некоторые ОС . |