Лекция: Методы взаимодействия процессов
В лекции рассматриваются: взаимодействие процессов: проблема ограниченного буфера; проблема "производитель – потребитель"; прямая и косвенная связь процессов; клиент-серверная взаимосвязь; сокетная связь; удаленный вызов процедуры (RPC) и удаленный вызов метода (RMI); выстраивание параметров (marshaling).
Содержание
Введение Независимые и взаимодействующие процессы Виды организации взаимосвязи процессов Парадигма (шаблон) взаимодействия процессов: производитель – потребитель Коммуникация процессов Непосредственная коммуникация процессов Косвенная коммуникация процессов Буферизация и очередь сообщений Клиент-серверная взаимосвязь – один из наиболее распространенных видов коммуникации процессов Ключевые термины Краткие итоги Набор для практики Вопросы Упражнения Темы для курсовых работ, рефератов, эссе
Введение
Взаимодействие процессов – основа для распараллеленного, эффективного решения задач с помощью группы процессов, координирующих свои действия друг с другом. В лекции рассмотрены некоторые классические схемы взаимодействия процессов при решении типовых задач (например, схема производитель – потребитель), а также виды взаимодействия процессов между собой с помощью передачи сообщений, сокетов, удаленных вызовов процедур и методов.
Независимые и взаимодействующие процессы
Независимыйпроцесс – процесс, никак не связанный с другими процессами, который не может влиять на исполнение других процессов или испытывать их… Взаимодействующий (совместный)процесс – процесс, который может влиять на… Преимущества взаимодействующих процессов очевидны:
Совместное использование данных; процессы могут работать с…
Виды организации взаимосвязи процессов
Подчиненный процесс– процесс, зависящий от процесса-родителя. Подчиненный процесс уничтожается при уничтожении родительского процесса, как в… Независимыйпроцесс – дочерний процесс, выполняемый независимо от… Сопроцесс (coprocess, coroutine)– процесс, равноправно взаимодействующий с другими такими же процессами; хранит свое…
Парадигма (шаблон) взаимодействия процессов: производитель – потребитель
При реализации данной парадигмы возможны схемы с неограниченным и ограниченным буфером, используемым для связи двух процессов.
Схема с… При реализации следует учесть, что схема с ограниченным буфером, с точки… Реализуем ограниченный буфер следующим образом. Информация хранится в массиве с двумя указателями: in - для считывания…
Коммуникация процессов
Наиболее распространенный их них - система сообщений; при этом процессы взаимодействуют между собой без обращений к общим переменным (сравните с… Средства коммуникации между процессами обеспечивают две операции вида:
… Если процессам Pи Qтребуется взаимодействовать между собой, им необходимо:
Установить связь (communication…
Непосредственная коммуникация процессов
При данном способе коммуникации свойства линии связи, согласно контрольному списку раздела 9.5, следующие:
Связь устанавливается автоматически…
Косвенная коммуникация процессов
Каждый почтовый ящик имеет уникальный идентификатор.
Процессы могут взаимодействовать, только если они имеют общий почтовый ящик.
… Свойства линии связи, согласно списку раздела 9.4, в этом случае следующие:
Связь устанавливается, только если…
Буферизация и очередь сообщений
Клиент-серверная взаимосвязь – один из наиболее распространенных видов коммуникации процессов
Сокеты –наиболее распространенный способ связи клиента и сервера в сети. Впервые они были реализованы в UNIX BSD 4.2. Сокет можно определить как…
Рис. 9.1. Взаимодействие с помощью сокетов.
Ключевые термины
Receive– операция получения сообщения от другого процесса.
Взаимодействующий (совместный) процесс– процесс, который может влиять на… Выстраивание (marshaling) –механизм преобразования параметров удаленной процедуры (метода) для их передаче по сети в…
Удаленный вызов метода (Remote Method Invocation – RMI) –разработанный фирмой Sun объектно-ориентированный механизм Java-технологии для вызова метода Java на другом компьютере сети, аналогичный удаленному вызову процедуры.
Удаленный вызов процедуры (Remote Procedure Call – RPC) –разработанный фирмой Sun механизм вызова процедуры на другом компьютере локальной сети с использованием процедур-заглушекна клиенте и на сервере, передающих информацию и выстраивающихпараметры и результат удаленной процедуры.
Краткие итоги
Дочерний процесс по отношению к процессу-родителю может быть подчиненным (зависящим от родителя), независимым, либо сопроцессом. Сопроцессы –… Парадигма производитель – потребитель – классическая схема взаимодействия… Коммуникация процессов может осуществляться с помощью сообщений. Коммуникация бывает непосредственная (с явным…
Набор для практики
Вопросы
Упражнения
Темы для курсовых работ, рефератов, эссе