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

[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
м робот добавил: el:Διαδιεργασιακή επικοινωνία; косметические изменения
Нет описания правки
Строка 1:
'''Межпроцессное взаимодействие''' ({{lang-en|Inter-Process Communication, '''IPC'''}})  — набор способов обмена данными между множеством [[Многопоточность|потоков]] в одном или более [[Процесс (информатика)|процессах]]. Процессы могут быть запущены на одном или более компьютерах, связанных между собой [[Компьютерная сеть|сетью]]. IPC-способы делятся на методы [[Обмен сообщениями|обмена сообщениями]], [[Синхронизация (информатика)|синхронизации]], [[Разделяемая память|разделяемой памяти]] и [[Remote Procedure Call|удаленных вызовов]] (RPC). Методы IPC зависят от пропускной способности и задержки взаимодействия между потоками и типа передаваемых данных.
 
IPC также может упоминаться как '''межпотоковое взаимодействие''' ({{lang-en|inter-thread communication}}), '''межпоточное взаимодействие''' и '''межпрограммное взаимодействие''' ({{lang-en|inter-application communication}}).
 
IPC наряду с концепцией [[Адресация памяти|адресного пространства]] является основой для разграничения адресного пространства.<ref> [[Йохан Лиетке]]. ''[http://i30www.ira.uka.de/research/publications/papers/index.php?lid=en&docid=642 On µ-Kernel Construction]'', ''Proc. 15th ACM Symposium on Operating System Principles (SOSP)'', декабрь 1995</ref>
</ref>
 
== Реализации ==
Строка 22 ⟶ 21 :
* при обращении к локальному IP функции IPC выполняют [[сетевой протокол|сетевые протоколы]], для этих целей у каждого компьютера есть [[localhost|специальный IP-адрес]].
 
Ниже указана платформа или язык программирования указанных API:
* Механизм [[Apple events]] от [[Apple|Apple Inc.]] (ранее известный как Interapplication Communications (IAC)).
* [[Java]] [[RMI|Remote Method Invocation]] (RMI)
Строка 28 ⟶ 27 :
* [[Libt2n]] для [[C++]] только под Linux, обрабатывает сложные объекты и исключения
* Порты [[Mach]]а
* Технологии компании [[Microsoft]]: [[ActiveX]], [[Component Object Model]] (COM), [[Microsoft Transaction Server]] ([[COM|COM+]]), [[Distributed Component Object Model]] (DCOM), [[Dynamic Data Exchange]] (DDE), [[Object Linking and Embedding]] (OLE), [[Анонимный канал|анонимные каналы]], [[Именованный канал|именованные каналы]], [[Local Procedure Call]], [[Message loop in Microsoft Windows|Message loop]], [[MSRPC]], [[.NET Remoting]] и [[Windows Communication Foundation]]
* [[IPX/SPX|SPX]] компании [[Novell]]
* [[POSIX]] [[mmap]], [[Очередь сообщения|очереди сообщений]], [[Семафор (информатика)|семафоры]] и [[разделяемая память]]
Строка 57 ⟶ 56 :
| [[Обмен сообщениями]] <br />(без разделения) || Используется в парадигме [[Message Passing Interface|MPI]], [[Java]] [[RMI]], [[CORBA]] и других.
|-
| [[Mmap|Проецируемый в память файл]] || Все системы, соответствующие [[POSIX]]; несет риск появления [[Состояние гонки|состояния гонки]] в случае использования [[Временный файл|временного файла]]. Windows также поддерживает эту технологию, но использует [[API]] отличный от [[POSIX]].
|-
| [[Очередь сообщений]] || Большинство [[Операционная система|операционных систем]].
Строка 75 ⟶ 74 :
<references />
* [[W. Richard Stevens|Stevens, Richard]]. ''UNIX Network Programming, Volume 2, Second Edition: Interprocess Communications.'' Prentice Hall, 1999. ISBN 0-13-081081-9
* U. Ramachandran, M. Solomon, M. Vernon ''[http://portal.acm.org/citation.cfm?id=30371&coll=portal&dl=ACM Hardware support for interprocess communication]'' Proceedings of the 14th annual international symposium on Computer architecture. Pittsburgh, Pennsylvania, United States. Pages: 178 - 188178—188. Year of Publication: 1987 ISBN 0-8186-0776-9
 
* Crovella, M. Bianchini, R. LeBlanc, T. Markatos, E. Wisniewski, R. ''[http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=242738 Using communication-to-computation ratio in parallel program designand performance prediction]'' 1-4 December 1992. pp. 238-245238—245 ISBN 0-8186-3200-3
 
</div>