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

15. Механизм синхронизации процессов с использованием блокирующей переменной, семафоров, мониторов, сигналов: особенности каждого метода, достоинства и недостатки.

Синхронизация процессов – приведение двух или более процессов к такому их протеканию, когда определенные стадии разных процессов совершаются в определенном порядке, либо одновременно.

Механизмы синхронизации:

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

Достоинства:

1) Блокирующие переменные могут использоваться не только при доступе к разделяемым данным, но и при доступе к разделяемым ресурсам любого вида.

2) Если все потоки написаны с учетом соглашений, то взаимное исключение гарантируется. При этом потоки могут быть прерваны операционной системой в любой момент и в любом месте, в том числе в критической секции.

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

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

Достоинства:

1) пассивное ожидание

2) возможность управления группой

Недостаток: некорректное использование операций на семафоре может привести к нарушению работоспособности параллельных систем.

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

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

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

- сигнал: это некоторое значимое событие источником которого может быть ОС или иная составляющая ВС.

Недостаток: взаимодействие посредством сигналов возможно только между родственными процессами, которые могут получить данные об идентификаторах друг друга.

16.Взаимная блокировка процессов(тупик).

Взаи́мная блокиро́вка (англ. deadlock) — ситуация в многозадачной среде или СУБД, при которой несколько процессов находятся в состоянии бесконечного ожидания ресурсов, занятых самими этими процессами.

17.Мехонизмы ОС Класса средств межпроцессного взаимодействия: особености практического использования.

18. Распределение перемещаемыми разделами

Распределение памяти перемещаемыми разделами

В этом методе разработчики попытались учесть достоинства и недостатки предыдущего.

Один из способов борьбы с фрагментацией – сжатие, таким образом, чтобы вся свободная память образовала непрерывную область – дефрагментация. Такой метод был применен в ранних версиях OS/2. Недостаток этого метода – низкая производительность.

Алгоритмы распределения памяти с использованием внешней памяти

Для полной загрузки процессора могут понадобиться иногда сотни интерактивных задач. Все они должны быть размещены в памяти, большая часть которых находится в состоянии ожидания. Логично было бы на время ожидания, в случае нехватки физической памяти, вытеснять их на диск, а когда необходимо, возвращать в память. Такая подмена (виртуализация) оперативной памяти дисковой памятью существенно повышает уровень мультипрограммирования. Важно, что все действия по перемещению происходят автоматически, без участия программиста. Для виртуализации применяются два основных подхода: Свопинг – образ процесса выгружается на диск и возвращается в память целиком. Часто называется подкачкой. Виртуальная память – образ процесса выгружается на диск и возвращается в память частями (сегментами, страницами...)

Реализация виртуальной памяти, представлена тремя классами: страничное распределение, сегментное, сегментно-страничное распределение