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

Поделись знанием:
Перейти к: навигация, поиск

Межпроцессное взаимодействие (англ. inter-process communication, IPC) — обмен данными между потоками одного или разных процессов. Реализуется посредством механизмов, предоставляемых ядром ОС или процессом, использующим механизмы ОС и реализующим новые возможности IPC. Может осуществляться как на одном компьютере, так и между несколькими компьютерами сети.

Из механизмов, предоставляемых ОС и используемых для IPC, можно выделить:

Для оценки производительности различных механизмов IPC используют следующие параметры:

  • пропускная способность (количество сообщений в единицу времени, которое ядро ОС или процесс способна обработать);
  • задержки (время между отправкой сообщения одним потоком и его получением другим потоком).

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

Межпроцессное взаимодействие, наряду с механизмами адресации памяти, является основой для разграничения адресного пространства между процессами[1].





Таблица методов межпроцессного взаимодействия

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

Напишите отзыв о статье "Межпроцессное взаимодействие"

Примечания

  1. Йохен Лидтке (нем. Jochen Liedtke (англ.)). [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

Литература

  • 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 [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—188. Year of Publication: 1987 ISBN 0-8186-0776-9
  • Crovella, M. Bianchini, R. LeBlanc, T. Markatos, E. Wisniewski, R. [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—245 ISBN 0-8186-3200-3

См. также

Ссылки

  • [www.wlug.org.nz/ipc(5) Linux System V IPC Main Page]
  • [msdn.microsoft.com/en-us/library/aa365574(VS.85).aspx Windows IPC]


Отрывок, характеризующий Межпроцессное взаимодействие

11 го октября 1805 года один из только что пришедших к Браунау пехотных полков, ожидая смотра главнокомандующего, стоял в полумиле от города. Несмотря на нерусскую местность и обстановку (фруктовые сады, каменные ограды, черепичные крыши, горы, видневшиеся вдали), на нерусский народ, c любопытством смотревший на солдат, полк имел точно такой же вид, какой имел всякий русский полк, готовившийся к смотру где нибудь в середине России.
С вечера, на последнем переходе, был получен приказ, что главнокомандующий будет смотреть полк на походе. Хотя слова приказа и показались неясны полковому командиру, и возник вопрос, как разуметь слова приказа: в походной форме или нет? в совете батальонных командиров было решено представить полк в парадной форме на том основании, что всегда лучше перекланяться, чем не докланяться. И солдаты, после тридцативерстного перехода, не смыкали глаз, всю ночь чинились, чистились; адъютанты и ротные рассчитывали, отчисляли; и к утру полк, вместо растянутой беспорядочной толпы, какою он был накануне на последнем переходе, представлял стройную массу 2 000 людей, из которых каждый знал свое место, свое дело и из которых на каждом каждая пуговка и ремешок были на своем месте и блестели чистотой. Не только наружное было исправно, но ежели бы угодно было главнокомандующему заглянуть под мундиры, то на каждом он увидел бы одинаково чистую рубаху и в каждом ранце нашел бы узаконенное число вещей, «шильце и мыльце», как говорят солдаты. Было только одно обстоятельство, насчет которого никто не мог быть спокоен. Это была обувь. Больше чем у половины людей сапоги были разбиты. Но недостаток этот происходил не от вины полкового командира, так как, несмотря на неоднократные требования, ему не был отпущен товар от австрийского ведомства, а полк прошел тысячу верст.
Полковой командир был пожилой, сангвинический, с седеющими бровями и бакенбардами генерал, плотный и широкий больше от груди к спине, чем от одного плеча к другому. На нем был новый, с иголочки, со слежавшимися складками мундир и густые золотые эполеты, которые как будто не книзу, а кверху поднимали его тучные плечи. Полковой командир имел вид человека, счастливо совершающего одно из самых торжественных дел жизни. Он похаживал перед фронтом и, похаживая, подрагивал на каждом шагу, слегка изгибаясь спиною. Видно, было, что полковой командир любуется своим полком, счастлив им, что все его силы душевные заняты только полком; но, несмотря на то, его подрагивающая походка как будто говорила, что, кроме военных интересов, в душе его немалое место занимают и интересы общественного быта и женский пол.
– Ну, батюшка Михайло Митрич, – обратился он к одному батальонному командиру (батальонный командир улыбаясь подался вперед; видно было, что они были счастливы), – досталось на орехи нынче ночью. Однако, кажется, ничего, полк не из дурных… А?
Батальонный командир понял веселую иронию и засмеялся.
– И на Царицыном лугу с поля бы не прогнали.
– Что? – сказал командир.
В это время по дороге из города, по которой расставлены были махальные, показались два верховые. Это были адъютант и казак, ехавший сзади.
Адъютант был прислан из главного штаба подтвердить полковому командиру то, что было сказано неясно во вчерашнем приказе, а именно то, что главнокомандующий желал видеть полк совершенно в том положении, в котором oн шел – в шинелях, в чехлах и без всяких приготовлений.
К Кутузову накануне прибыл член гофкригсрата из Вены, с предложениями и требованиями итти как можно скорее на соединение с армией эрцгерцога Фердинанда и Мака, и Кутузов, не считая выгодным это соединение, в числе прочих доказательств в пользу своего мнения намеревался показать австрийскому генералу то печальное положение, в котором приходили войска из России. С этою целью он и хотел выехать навстречу полку, так что, чем хуже было бы положение полка, тем приятнее было бы это главнокомандующему. Хотя адъютант и не знал этих подробностей, однако он передал полковому командиру непременное требование главнокомандующего, чтобы люди были в шинелях и чехлах, и что в противном случае главнокомандующий будет недоволен. Выслушав эти слова, полковой командир опустил голову, молча вздернул плечами и сангвиническим жестом развел руки.