Асинхронные параллельные процессы. Алгоритм Деккера
Асинхронные параллельные процессы. Алгоритм Деккера
Асинхронные параллельные процессы. Алгоритм Деккера
Асинхронные параллельные процессы. Алгоритм Деккера
Асинхронные параллельные процессы. Алгоритм Деккера
Вопросы ?
49.31K

ЛР 1

1. Асинхронные параллельные процессы. Алгоритм Деккера

Лабораторная работа № 1.
Дисциплина «Операционные системы»
© 2020. Шалагин Сергей Викторович, д.т.н.,
профессор каф. Компьютерных систем КНИТУ-КАИ

2. Асинхронные параллельные процессы. Алгоритм Деккера

Процессы обращаются
к общему ресурсу
Процесс 1
Процесс 2
Критич.
участок 1
Критич.
участок 2
При этом требуется реализовать
взаимоисключение
Общий ресурс
(критический)
Т.е. к общему (критическому)
ресурсу в каждый момент
времени может обратиться
только один процесс
В критических участках – только один процесс !
Как сделать?

3. Асинхронные параллельные процессы. Алгоритм Деккера

Процесс 1
Процесс 2
Критич.
участок 1
Критич.
участок 2
Fi -обозначают намерение процесса
i войти в критический участок i,
i = 1, 2;
ZR -обозначает занятость общего
ресурса.
Флаги – переменные (или
файлы) общего доступа
F2
F1
ZR
Как сделать?

4. Асинхронные параллельные процессы. Алгоритм Деккера

Два процесса!
1. Установка Fi := 1, i = 1, 2.
Процесс 1
Процесс 2
Критич.
участок 1
Критич.
участок 2
2. Проверка F(i-1):
если F(i-1) == 1, то снова п. 2.
3. Проверка ZR:
если ZR == 1, то снова п. 2.
4. Установка ZR := 1.
5. Вход к КрУч i.
Флаги – переменные (или файлы)
общего доступа
F2
F1
ZR
6. Выход из КрУч i.
7. Сброс ZR := 0.
8. Сброс Fi := 0.
Моделирование с целью изучения! Каждый шаг 1-8 – инициируется вами

5. Асинхронные параллельные процессы. Алгоритм Деккера

Процесс 1
Процесс 2
Критич.
участок 1
Критич.
участок 2
Применение – организация
взаимодействия процессов (более
двух) в ядре операционной системы.
Задание:
1. Создать 3 файла,
соответствующих флагам F1, F2 и ZR.
2. Написать 2 программы.
Флаги – переменные (или файлы)
общего доступа
F2
F1
ZR
3. Показать работу программ для
разных вариантов выполнения
шагов 1 – 8 в двух программах.
4. Оформить отчет.
Моделирование с целью изучения! Каждый шаг 1-8 – инициируется вами

6. Вопросы ?

English     Русский Правила