Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционные системы Лекция 04(Обработка прерыв...doc
Скачиваний:
8
Добавлен:
16.09.2019
Размер:
192 Кб
Скачать
  1. Синхронизация параллельных процессов.

Назначение синхронизации.

Синхронизация обеспечивает:

  1. упорядочение развития процессов во времени в зависимости от типа отношения следования процессов (отношение предшествования, отношение приоритетности, отношение взаимного исключения)

  2. взаимодействие между процессами, выражающееся в передаче информации между ними (отношение «производитель-потребитель», отношение «читатель-писатель»)

Особенности каждого конкретного взаимодействия между двумя или более процессами определяются задачей синхронизации.

Количество различных задач синхронизации неограниченно.

Отношения между процессами, влияющие на синхронизацию процессов приведены на рис. 4.2.

Отношение

предшествования

Для двух процессов это означает, что первый процесс должен переходить в состояние выполнения всегда раньше второго

Отношение

приоритетности

Процесс с приоритетом Р может быть переведен в состояние выполнения только при соблюдении двух условий:

  • в состоянии готовности к рассматриваемому процессору нет процессов с большим приоритетом;

  • процессор либо свободен, либо используется процессом с меньшим, чем Р приоритетом.

Отношение

взаимного

исключения

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

Критический интервал одного процесса не должен выполняться одновременно с критическим интервалом над этим же ресурсом в составе другого процесса.

Отношение

«производитель-

потребитель»

Устанавливается для двух процессов с жестко распределенными между ними функциями.

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

Отношение

«читатели-

писатели»

  • процессы-писатели могут записывать информацию в область памяти

процессы-читатели считывают информацию из области памяти.

Рис. 4.2. Назначение синхронизации и отношения между процессами, влияющие

на синхронизацию процессов

Типичные задачи синхронизации параллельных процессов:

Задача взаимного исключения

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

  1. Одновременно внутри критического интервала должно находиться не более одного процесса;

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

Задача «производители-потребители»

Наиболее простой случай:

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

Процесс, вырабатывающий сообщения, называют производителем, а воспринимающий сообщения – потребителем.

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

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