Страничная организация памяти. Дескриптор страниц

При этом распределении виртуального прост-во каждого процесса делится на одинаковые фиксированные для данной системы. Вся ОП машины делится на части этих размеров – физические страницы. Имеется таблица распределения страниц – загружается в спец.регистр процессора. И на них организуется работа.

Может храниться управляющая инфо – в таблице страниц. Она:

-признак невыгружаемости страниц

-признак модификации страниц

-признак обращения к странице(счетчик обращений)

-вся управл.инфо используется механизмом страничного модифицирования.

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

Если своб.страниц нет, то что-то выгружается. Выбор выгружения страниц:

 - выгр.может дольше всего не использ.страница

 - первая попавшаяся

 - страница, к-й в последнее время было мало обращений.

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

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

Для страницы существует дескриптор страницы. Основные поля: поле номера страницы (адрес физической страницы), бит присутствия, бит обращения (R), бит модификации (M) – предназначен для отображения что данную страницу изменяли и ОС следует переписать ее при замещении, биты уровня доступа – бит привилегий доступа, бит контроля доступа(ноль – только чтение).



Виртуальная память. Архитектура 

Виртуальная память – то чего нет в реальности. Информация с которой работает процесс должна располагаться в оперативной памяти. В схемах виртуальной памяти у процесса создается иллюзии, что вся необх инф находится в основной памяти. При этом программа не ограничена объемом физической памяти. Задействуются большие виртуальные пространства. В памяти могут размещаться программы не целиком, а частично за счет гибкого перераспределения памяти между программами. Характерный размер виртуального адресного пространства для 32 разряд – 4 Гб. Каждый процесс получает свое адресное виртуальное пространство таких размеров, что при этом не может адресоваться чужое адресное пространство. Обеспечивается защита данных программ и ос. Аппаратура компьют принимает участие в трансляции адресов. Главный ее вклад в схему виртуальн памяти - генерация исключительных ситуаций при отсутствии в памяти нужных страниц.

Страничная виртуальная память.

Физич память делится на кадры. Адрес – номер и смещение внутри страниц. Процесс может выполняться если его текущие страницы находятся в его ОП. В случае если нужная страница в памяти отсутствует, она переписывается (подкачивается) из внешней памяти в любой свободный страничный кадр. Перед тем, как страница подкачив возникает страничное прерывание. Выполнение команды прерывается и начинается процесс подкачки. После чего продолжается выполнение команды. При отсутствии свободных страничных кадров, одна из страниц вытесняется во внешнюю память. Сегментно-страничная виртуальная память. Неперекрывающиеся сегменты организуются в едином виртуальном адресном простран.

Таблица страниц. Номер записи в таблице страниц соот номеру виртуальной страницы. Из этой записи можно получить номер кадра для данной страницы. Биты страницы модификации устанавлив, если страница была изменена в главной памяти и необходима ее перезапись во внешней памяти. Бит ссылки полагает отсеять малоиспользов страницы, вид кэширования помогает кэшировать страницу в более быстрой памяти.

Многоуровневые таблицы страниц. Из-за того, что каждому процессу необход выделить свою таблицу страниц, а размеры ее очень велики, таблица разбивается на фрагменты. 32 разрядный адрес делится на 10 разрядное поле.     


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: