Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на билеты ОС.doc
Скачиваний:
235
Добавлен:
01.05.2014
Размер:
635.9 Кб
Скачать

23. Способы уменьшения фрагментации оп.

Под фрагментацией понимают такое иссечение памяти на малые участки, при котором создается ситуация, когда не существует непрерывного свободного участка, который удовлетворял бы запросу в то время, когда суммарный объем свободной памяти достаточен для его удовлетворения. Пример на рис. иллюстрирует понятие фрагментации. Объем свободной памяти составляет 23 Кбайт, но запрос на участок памяти объемом больше 8 Кбайт удовлетворен быть не может.

4 Кбайт 10 Кбайт 8 Кбайт 8 Кбайт 6 Кбайт 15 Кбайт 5 Кбайт

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

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

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

Основная проблема – выбор времени для перекомпоновки памяти: либо при освобождении раздела, либо при неудовлетворении запроса. Тогда в промежутках между перераспределениями надо управлять памятью как при распределении динамическими разделами.

  1. Страничное распределение.

Фрагментация исключается на уровне задач за счет загрузки логического адресного пространства в несмежные области памяти. При этом нет затрат на перекомпоновку области памяти. При этом остаются потери памяти из-за того, что последняя страница, предоставленная задаче, заполняется не полностью, т.к. размер задачи не кратен размеру страницы. Кроме того остается память, кот. не мо жжет быть распределена ни одной задаче.

  1. Сегментное распределение памяти.

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

24. Управление страничной памятью по запросам.

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

Для реализации стратегии вся ОП разбивается на физические страницы постоянного размера. Логическое адресное пространство также делится на страницы, размер которых равен размеру физических страниц. При загрузке задачи в ОП все логические страницы перемещаются в свободные физические страницы.

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

Программный адрес

ОП

P L

Таблица

страниц

задачи

B

B

Физическая

L

страница

+

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

Защита памяти сводится к контролю значения Р, которое не должно выходить за размеры таблицы страниц.

В ОП необходимо учитывать свободные и занятые физические страницы. Это можно сделать с помощью таблицы физических страниц, в которой отмечаются состояния "свободна/занята" для каждой физической страницы и ее владелец.

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

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

принадлежащих закончившейся задаче, и изменением их состояния.

Алгоритм выделения памяти выглядит следующим образом:

АЛГОРИТМ

ЕСЛИ Число свободных физических страниц < числа страниц задачи

ТО Отказ в выделении памяти.

ИНАЧЕ Выделение памяти для таблицы страниц задачи.

Загрузка таблицы страниц задачи и связывание ее с блоком управления задачей.

Изменение состояния физических страниц, загрузка логического адресного пространства задачи, занесение базовых адресов в таблицу страниц задачи.

ВСЕ ЕСЛИ

КОНЕЦ

Алгоритм освобождения сводится к просмотру таблицы физических страниц и изменения состояния страниц на состояние "свободна" для выгружаемой задачи.

Достоинства и недостатки страничного распределения памяти.

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

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

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

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

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

Соседние файлы в предмете Операционные системы