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

Свопинг

Свопинг – (swapping) – образы процессов выгружаются/загружаются ЦЕЛИКОМ.

Плюсы:

- простота реализации

Минусы:

- избыточность. Для активизации процесса и начала его работы вовсе не нужны ВСЕ коды и данные процесса. А для освобождения памяти под другой процесс вовсе не надо первый полностью выгружать на диск.

- замедляет работу системы

- неэффективно используется память

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

Поэтому свопинг в современных ОС практически не используется. Только кое-где в Юниксе он остался как дополнительный к виртуальной памяти механизм, применяющийся при перегрузках ОС.

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

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

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

Существует 3 класса реализации виртуальной памяти:

- Страничная ВП – данные перемещаются страницами – частями фиксированного и небольшого размера

- Сегментная ВП – данные перемещаются сегментами – частями произвольного размера, организованными по смыслу.

- Сегментно-страничная ВП – ВАП делится на сегменты, сегменты – на страницы. Единица перемещения – страница.

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

Но надо не забывать, что чем он больше, тем медленнее все пашет.

Размер файла подкачки в современных ОС настраивается администратором.

Страничная организация памяти

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

Оперативная память машины тоже делится на страницы (блоки, кадры).

Размер страницы выбирается равным степени 2, так проще преобразовывать адреса.

Для каждого процесса ОС создает таблицу страниц – структуру с записями о всех ВИРТУАЛЬНЫХ СТРАНИЦАХ процесса.

Запись в таблице называется ДЕСКРИПТОРОМ СТРАНИЦЫ. Он содержит:

- номер физической страницы, куда загружена виртуальная

- признак присутствия (есть ли страница в памяти)

- признак модификации (1 – когда произошла запись по этому адресу)

- признак обращения к страницу (бит доступа) – в 1 при каждом обращения.

Последние три в современных процессорах устанавливаются аппаратно.

Таблица страниц хранится в памяти, ее адрес – часть контекста процесса.

ОС обращается к памяти:

- получает номер виртуальной страницы процесса

- идет в Таблицу Страниц и находит там нужный дескриптор

- смотрит бит присутствия – если 1, то заменяет виртуальный адрес тем физическим адресом, который для нее указан

- если 0 – генерируется ошибка страницы, процесс – блокируется, активизируется новый.

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

- если страница, которую надо выгрузить, была модифицирована – ее переписывают на диск.

- страница обнуляется (чтобы нельзя было использовать инфу выгруженной страницы)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]