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

28. Управление памятью с сегментно-страничным распределением.

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

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

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

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

ОП

S P L

Таблица

страниц

задачи

B

B

Таблица

страниц

задачи

B

B1 L Физическая

+

страница

+

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

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

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

АГОРИТМ

Поиск свободной физической страницы в ОП для размещения таблицы страниц сегмента.

ЕСЛИ Отсутствует свободная страница

ТО Освободить физическую страницу для загрузки таблицы страниц сегмента.

ВСЕ ЕСЛИ

Найти адрес таблицы страниц сегмента в таблице внешних сегментов.

Прочитать таблицу страниц сегмента в ОП.

Откорректировать таблицу сегментов и таблицу физических страниц.

Повторить команду.

КОНЕЦ

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

АЛГОРИТМ

По таблице физических страниц отыскивается свободная страница.

ЕСЛИ Отсутствует свободная физическая страница

ТО Выбрать страницу для удаления.

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

Откорректировать таблицу физических страниц, поставив состояние "транзит".

ЕСЛИ Содержимое выбранной страницы менялось

ТО Записать страницу во внешнюю память.

Откорректировать таблицу внешних страниц сегментов

ВСЕ ЕСЛИ

ВСЕ ЕСЛИ

Получить адрес требуемой страницы во внешней памяти

по таблице внешних страниц сегмента.

Прочитать страницу в ОП.

Откорректировать таблицу страниц сегмента.

Откорректировать таблицу физических страниц.

Повторить прерванную команду.

КОНЕЦ

Достоинства и недостатки.

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

  • большая память, предоставляемая пользователям за счет реализации идеи виртуальной памяти

  • эффективное использование ОП за счет загрузки только необходимой части адр. пространства.

  • Нет огранич. на размер сегмента

  • Отсутствуют недостатки, вызванные использованием сегментов переменной длины

  • Можно поддерживать различные виды доступа к сегментам и защиты сегментов

Недостатки

Явление "пробуксировки".

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