Реферат на тему: Межпроцессное взаимодействие План: Введение 1 Таблица методов IPC 2 Реализации 3 Дополнительные источники Введение Межпроцессное взаимодействие (англ. Inter-Process Communication, IPC) — набор способов обмена данными между множеством потоков в одном или более процессах. Процессы могут быть запущены на одном или более компьютерах, связанных между собой сетью. IPC-способы делятся на методы обмена сообщениями, синхронизации, разделяемой памяти и удаленных вызовов (RPC). Методы IPC зависят от пропускной способности и задержки взаимодействия между потоками и типа передаваемых данных. IPC также может упоминаться как межпотоковое взаимодействие (англ. inter-thread communication), межпоточное взаимодействие и межпрограммное взаимодействие (англ. inter-application communication). IPC наряду с концепцией адресного пространства является основой для разграничения адресного пространства.[1] 1. Таблица методов IPC Метод Файл Сигнал Сокет Канал Именованный канал Семафор Разделяемая память Обмен сообщениями (без разделения) Проецируемый в память файл Очередь сообщений Почтовый ящик Реализуется (операционной системой или другим окружением) Все операционные системы. Большинство операционных систем; некоторые системы, как например, Windows, только реализуют сигналы в библиотеке запуска Си, но не обеспечивают их полноценной поддержки для использования методов IPC. Большинство операционных систем. Все системы, соответствующие POSIX. Все системы, соответствующие POSIX. Все системы, соответствующие POSIX. Все системы, соответствующие POSIX. Используется в парадигме MPI, Java RMI, CORBA и других. Все системы, соответствующие POSIX; несет риск появления состояния гонки в случае использования временного файла. Windows также поддерживает эту технологию, но использует API отличный от POSIX. Большинство операционных систем. Некоторые операционные системы. 2. Реализации Существует несколько API, которые могут использоваться для IPC. Вот несколько платформо-независимых API: анонимные каналы и именованные каналы CORBA D-Bus от Freedesktop.org Distributed Computing Environment (DCE) Шина сообщений (Message Bus или MBUS) (описана в RFC 3259) Lightweight Communications and Marshalling (LCM) ONC RPC Сокеты XML XML-RPC или SOAP Thrift TIPC Internet Communications Engine (ICE) от ZeroC при обращении к локальному IP функции IPC выполняют сетевые протоколы, для этих целей у каждого компьютера есть специальный IP-адрес. Ниже указана платформа или язык программирования указанных API: Механизм Apple events от Apple Inc. (ранее известный как Interapplication Communications (IAC)). Java Remote Method Invocation (RMI) KDE's Desktop Communications Protocol (DCOP) Libt2n для C++ только под Linux, обрабатывает сложные объекты и исключения Порты Machа Технологии компании Microsoft: ActiveX, Component Object Model (COM), Microsoft Transaction Server (COM+), Distributed Component Object Model (DCOM), Dynamic Data Exchange (DDE), Object Linking and Embedding (OLE), анонимные каналы, именованные каналы, Local Procedure Call, Message loop, MSRPC, .NET Remoting и Windows Communication Foundation SPX компании Novell POSIX mmap, очереди сообщений, семафоры и разделяемая память Сообщения RISC OS Технология Solaris Doors Очереди сообщений, семафоры и разделяемая память UNIX System V Распределенный Ruby Распределенное межпроцессное взаимодействие (Distributed Inter-Process Communication)