Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 5. Операционные системы, среды и оболочк...docx
Скачиваний:
41
Добавлен:
23.09.2019
Размер:
416.36 Кб
Скачать

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

Ситуации, когда приходится процессам взаимодействовать:

  • Передача информации от одного процесса другому

  • Контроль над деятельностью процессов (например: когда они борются за один ресурс)

  • Согласование действий процессов (например: когда один процесс поставляет данные, а другой их выводит на печать. Если согласованности не будет, то второй процесс может начать печать раньше, чем поступят данные).

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

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

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

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

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

Отношения процессов определяют синхронизирующее правило:

1. Отношение предшествования (для 2х процессов это означает, что один из них должен переходить в активное состояние раньше другого).

2. Отношение приоритетности (процесс с большим приоритетом может быть переведен в состояние при соблюдении 2х условий: 1) нет других процессов, приоритетом превышающий текущий, в состоянии готовности 2)процессор либо свободен, либо используется процессом с меньшим приоритетом)

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

Категории средств обмена информацией.

  • Сигнальные. Передается минимальное количество информации – один бит, "да" или "нет". Используются, как правило, для извещения процесса о наступлении какого-либо события, в качестве флагов. Степень взаимодействия минимальна. При использовании этих средств получателю необходимо знать, что означает сигнал и как на него реагировать.

  • Канальные. Представляют собой выделенные линии связи для передачи информации. Характеристика: пропускная способность( объем информации за единицу времени:). Могут оказывать активное влияние на другой процесс, так как передается большое количество информации.

  • Разделяемая память. Использование выделенного пространства совместно несколькими процессами. Организацией раздельной памяти занимается ОС. Это наиболее быстрый способ взаимодействия процессов в ВС. При ее использовании не требуется специализации процессов, а достаточно самом процессам знать адреса для обмена. Причем не всегда обязательно, чтобы процесс- получатель информации был запущен одновременно с процессом-отправителем.