Функции ОС при управлении памятью
Разрывные распределения
Используются для борьбы с фрагментацией.
ПОНЯТИЯ: память реальная (физическая, абсолютная); отображение; виртуальная память; виртуальный адрес; виртуальное адресное пространство – это совокупность виртуальных адресов.
Размер реальной памяти не соответствует адресному пространству.
Сегментная организация памяти: все адресное пространство делится на произвольное количество сегментов различной длины.
В программе адрес должен состоять из двух частей:
- номер сегмента
- смещение внутри сегмента
Для каждой задачи строится таблица сегментов. В ЭВМ имеется регистр таблицы сегментов. Регистр содержит начальный адрес таблицы сегментов выполняемой задачи.
Формирование абсолютного адреса: к адресу таблицы сегментов прибавляется номер сегмента, получается адрес описания сегмента. Описание содержит три поля:
1) признак наличия сегмента в ОП
2) адрес начала сегмента
3) длина сегмента
Сегменты задачи могут произвольно располагаться в памяти (не занимают непрерывное пространство).
Страничная организация памяти: виртуальная память делится на страницы фиксированной длины. Соответствия между виртуальными и физическими страницами определяются по таблице страниц.
В аппаратуре имеется регистр страниц. Виртуальный адрес состоит из двух частей:
- (№) страница
- индекс
Структура таблицы содержит два поля:
- признак наличия страницы в ОП
- номер страницы
Формирование номера записи в таблице страниц: к содержимому регистра прибавляется номер страницы, взятый из виртуального адреса. Если страница отсутствует, следовательно осуществляется ее подкачка и осуществляется формирование физического адреса, индекс складывается со вторым полем (адресом начала страницы).
Например: 2 10 бит – 10 разрядов – смещение. Адрес: 22 старших разряда.
Сегментно-страничная организация памяти: (у нас) и з-за проблемы неполных страниц
Заданный пользователем адрес состоит из 3 компонентов и физический адрес формируется в 3 этапа! С одержит достоинства и сегментной, и страничной организации за счет лишнего обращения к памяти.
Смещение в сегменте рассматривается как страница и индекс в странице.
Виртуальный адрес состоит из трех компонентов:
1. сегмент;
2. страница;
3. смещение.
Обращение к памяти происходит в 3 цикла:
1. таблица сегментов;
2. таблица страниц;
3. к странице – к конкретному адресу внутри страницы.
- управление свободной памятью. ОС должно контролировать свободную память.
- уплотнение памяти
Необходимо ОС иметь информацию о свободной памяти и распределять свободную память по запросу других задач. Это выполняет планировщик памяти.
Для увеличения размера непрерывного раздела памяти используется откачка и подкачка страниц.
Пользователь может не освободить при завершении работы динамически выделенную память, затребованную при выполнении работы. ОС должна сама освобождать эту память.