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

6. Синхронизация процессов

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

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

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

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

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

7. Управление памятью. Виртуализация памяти

Виртуализация оперативной памяти осуществляется совокупностью аппаратных средств процессора и программных средств ОС и включает решение следующих задач:

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

выбор образов процессов или их частей для перемещения из оперативной памя- ти на диск и обратно;

перемещение данных между памятью и диском;

преобразование виртуальных адресов в физические.

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

Виртуализация памяти может быть осуществлена на основе двух подходов – свопинга и механизма виртуальной памяти.

Свопинг.

Между оперативной памятью и диском перемещаются образы процессов. Более простой в реализации способ, чем виртуальная память. Однако обладает избыточностью при подкачке или выгрузке: часто для активизации процесса или освобождения памяти не требуется перемещение всего образа процесса. Избыточность приводит к замедлению работы системы и неэффективному использованию памяти. Кроме того, невозможно загрузить для выполнения процесс, виртуальное адресное пространство которого превышает имеющуюся в наличии свободную память.

Виртуальная память.

Между оперативной памятью и диском перемещаются части образов процессов.

Выделяется три класса виртуальной памяти:

Страничное распределение. Единицей перемещения между памятью и диском является страница – часть виртуального адресного пространства фиксированного и небольшого объёма.

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

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