Krasorion.ru

Упаковочные материалы

Межпроцессное взаимодействие c++, межпроцессное взаимодействие в ос критические области

Перейти к: навигация, поиск

Межпроцессное взаимодействие (англ. 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
  • 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 Hardware support for interprocess communication 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. Using communication-to-computation ratio in parallel program designand performance prediction 1-4 December 1992. pp. 238—245 ISBN 0-8186-3200-3

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

  • Linux System V IPC Main Page
  • Windows IPC

Межпроцессное взаимодействие c++, межпроцессное взаимодействие в ос критические области.

GDV, Эдвард Уайт, Файл:Kolej Warszawsko-Petersburska - mapa.jpg.

© 2011–2023 krasorion.ru, Россия, Братск, ул. Ленинская 34, +7 (3953) 38-98-93