Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен по ОС_Ответы.doc
Скачиваний:
51
Добавлен:
24.09.2019
Размер:
926.72 Кб
Скачать

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

  • Сегментный способ

В таблице сегментов указывается базовый адрес сегмента в физической памяти (а не номер, как в случае страничного способа). Размер сегмента не фиксирован, в отличие от страничного способа адресации.

  • Страничный способ

Мотивом использования адресного пространства является предоставление виртуальной памяти (виртуальная память – совокупность программно-аппаратных средств, позволяющих писать программы, размер которых превосходит доступную оперативную память).

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

При страничной организации памяти виртуальное пространство процессов делится на страницы равного размера (размер страницы кратен степени двойки (=2k)). Физическое адресное пространство тоже делится на страницы такого же размера.

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

Обращение к памяти выполняется по следующей схеме:

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

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

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

Кандидаты на выгрузку определяются управляющей информацией ОС.

  • Сегментно-страничный способ

Схема преобразования адреса

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

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

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

При сегментно-страничной организации виртуальный адрес состоит из 3 частей: g, p, S. Номер сегмента преобразуется с использованием таблицы сегментов, а номер страницы – с использованием таблицы страниц. В результате линейный физический адрес состоит из 2 частей: номера физической страницы n и смещения S.