Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Атцовская шпора по ОСям.doc
Скачиваний:
12
Добавлен:
27.09.2019
Размер:
1.27 Mб
Скачать

Вопрос 7. Синхронизация параллельных процессов. Назначение синхронизации. Виды отношений между процессами. Типичные задачи синхронизации параллельных процессов.

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

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

  • взаимоотношения между процессами (передача информации между ними).

Типы отношений между процессами :

  • отношение предшествования (какой-то из двух процессов переходит в другое состояние раньше);

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

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

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

  • отношение производитель – потребитель (используется для процессов с жёстко распределёнными функциями: одни процессы являются производителями, другие- потребителями (пример: ресурсы типа сообщений))

  • отношение читатель – писатель (для файловых систем выделяются 2-а класса процессов: 1. только писатели. 2. только читатели)

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

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

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

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

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

  • критические интервалы не должны иметь приоритета в отношении друг друга;

  • решение о вхождении процесса в их критические интервалы при одинаковом времени поступления запроса на такое вхождение не откладывается на неопределенный срок, а является конечным во времени решением, решения принимаются операционной системой;

  • освобождение критического ресурса и выход из критического интервала должно быть произведено за конечное время;

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