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

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

Межпроцессное взаимодействие (англ. Inter-Process Communication, IPC) — набор способов обмена данными между множеством потоков в одном или более процессах. Процессы могут быть запущены на одном или более компьютерах, связанных между собой сетью. IPC-способы делятся на методы обмена сообщениями, синхронизации, разделяемой памяти и удаленных вызовов (RPC). Методы IPC зависят от пропускной способности и задержки взаимодействия между потоками и типа передаваемых данных.

IPC также может упоминаться как межпотоковое взаимодействие (англ. inter-thread communication), межпоточное взаимодействие и межпрограммное взаимодействие (англ. inter-application communication).

IPC наряду с концепцией адресного пространства является основой для разграничения адресного пространства.[1]

Содержание

Таблица методов IPC

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

Реализации

Существует несколько API, которые могут использоваться для IPC. Вот несколько платформо-независимых API:

Ниже указана платформа или язык программирования указанных API:

См. также

Ссылки

  1. Йохан Лиетке. On µ-Kernel Construction, Proc. 15th ACM Symposium on Operating System Principles (SOSP), декабрь 1995

Дополнительные источники


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "Межпроцессное взаимодействие" в других словарях:

  • Unix domain socket — (Доменный сокет Unix) или IPC сокет (сокет межпроцессного взаимодействия) конечная точка обмена данными, схожая с Интернет сокетом, но не использующая сетевой протокол для взаимодействия (обмена данными). Он используется в операционных системах,… …   Википедия

  • Сокет (программный интерфейс) — У этого термина существуют и другие значения, см. Сокет. Сокеты (англ. socket углубление, гнездо, разъём) название программного интерфейса для обеспечения обмена данными между процессами. Процессы при таком обмене могут исполняться как на… …   Википедия

  • Именованный канал — …   Википедия

  • mmap — mmap  POSIX совместимый системный вызов Unix, позволяющий выполнить отображение файла или устройства на память. Является методом ввода/вывода через отображение файла на память и естественным образом реализует выделение страниц по запросу,… …   Википедия

  • Mailslot — Маилслот один из механизмов межпроцессного взаимодействия, обеспечивающий однонаправленную передачу информации и позволяющий производить широковещательную рассылку сообщений по сети. Реализация Маилслот является клиент серверным интерфейсом.… …   Википедия

  • Сравнение командных оболочек — Подробнее по этой теме см.: Оболочка операционной системы. Командная оболочка  это компьютерная программа с интерфейсом командной строки операционной системы. Содержание 1 Общие характеристики 2 Интеракти …   Википедия

  • Base Class Library — Base Class Library, сокращённо BCL  стандартная библиотека классов платформы «.NET Framework». Программы, написанные на любом из языков, поддерживающих платформу .NET, могут пользоваться классами и методами BCL  создавать объекты… …   Википедия

  • Windows Script Host — (WSH; первоначально назывался Windows Scripting Host, был переименован ко второму выпуску)  компонент Microsoft Windows, предназначенный для запуска сценариев на скриптовых языках JScript и VBScript, а также и на других дополнительно… …   Википедия

  • NDIS — (аббр.. от англ. Network Driver Interface Specification)  спецификация интерфейса сетевого драйвера, была разработана совместно фирмами Microsoft и 3Com для сопряжения драйверов сетевых адаптеров с операционной системой. Одна из первых… …   Википедия

  • FIFO — У этого термина существуют и другие значения, см. FIFO и LIFO. FIFO планировщик проц …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»