Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты_ОС_full.doc
Скачиваний:
187
Добавлен:
10.05.2015
Размер:
525.82 Кб
Скачать

51. Сообщения как механизм межпроцессного взаимодействия.

В информатике обмен сообщениями является формой связи, используемой в параллельных вычислениях, объектно-ориентированном программировании и взаимодействии процессов. Сообщение реализуется путём посылки пакетов информации получателям, которые могут означать множество вещей: вызов функций, сигналы, данные. Данный метод широко используется во всевозможных системах с параллелизмом для координации действий.

В микроядерных операционных системах он используется для обмена информацией между одним из ядер и одним или более исполняющих блоков.

Распределённые системы доступа к объектам и удалённого вызова методов, вида ONC RPC, CORBA, RMI, DCOM, SOAP, .Net_Remoting, QNX Neutrino RTOS,OpenBinder, D-Bus и им подобные являются системами обмена сообщениями. Этот термин также используется в высокомощных вычислениях и интерфейсе передачи сообщений MPI.

Системы обмена сообщениями являются закрытыми, так как их абстракция прячет все изменения состояний, которые могут быть использованы в реализации отсылки сообщений.

Языки программирования, базирующиеся на этой модели, обычно определяют передачу сообщения, как посылку (обычно асинхронную; являющуюся копией) элемента данных конечному получателю (актору, процессу, потоку, сокету и т. д.). Такой обмен используется SOAP в веб-сервисах. Эта концепция является высокоуровневой версией датаграмм, за исключением того, что сообщения могут быть больше по размерам, чем пакет, и могут быть сделаны надёжными, стойкими, безопасными и при желании и могут быть охвачены механизмом транзакций.

Сообщения также часто используются в том же смысле, что и межпроцессное взаимодействие; другой широкораспространённой техникой являются потоки иконвейеры, в которых информация посылается как последовательность простейших элементов данных (высокоуровневая версия виртуального канала).

ООП

В терминах некоторых объектно-ориентированных языков программирования сообщение — это единственный путь передать управление объекту. Если объект должен «отвечать» на это сообщение, то у него должен быть метод, соответствующий данному сообщению.

В чистом объектно-ориентированном программировании обмен сообщениями реализуется только с помощью динамических вызовов.

Посылка одного и того же сообщения объекту дважды обычно вызывает и двойное применение объектом метода. Сообщения называются одинаковыми, если их имена и аргументы одинаковы.

Объекты могут посылать сообщения другим объектам, используя свои методы.

Обмен сообщениями приводит к чрезвычайно позднему связванию (англ. extreme late binding).

Алан Кэй утверждает[1], что обмен сообщениями между объектами — это концепция более важная, чем сами объекты, хотя люди часто это не понимают и уделяют слишком много внимания самим объектам и недостаточно — сообщениям, которыми они обмениваются.

52. Механизм межпроцессного взаимодействия «общая память».

В модели программирования с общей памяти, все процессы совместно используют общее адресное пространство, к которому они асинхронно обращаются с запросами на чтение и запись. В таких моделях для управления доступом к общей памяти используются всевозможные механизмы синхронизации типа семафоров и блокировок процессов. Преимущество этой модели с точки зрения программирования состоит в том, что понятие собственности данных (монопольного владения данными) отсутствует, следовательно, не нужно явно задавать обмен данными между производителями и потребителями. Эта модель, с одной стороны, упрощает разработку программы, но, с другой стороны, затрудняет понимание и управление локальностью данных, написание детерминированных программ. В основном эта модель используется при программировании для архитектур с общедоступной памятью.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]