Страничная организация памяти.

При этом способе организации памяти все фрагменты проги на которые она разбивается, за исключением последний части, получаются одинаковыми и эти части называются страницами. Говорят, что память разбивается на физические страницы, а прога и данные на виртуальные страницы. Часть виртуальных страниц размещается в ОП. Другая часть во внешней памяти на диске в файле свопинга.
Величина любой страницы выбирается равной степени двойки. Т.о. любой адрес в проге становится не одномерным, а двумерным, а именно № страницы и № смещения внутри страницы. Задача ОС во время исполнения проги сводится к отображения виртуальной страницы на физическую. Суммарный размер виртуальных страниц м.б. > размера ОП.

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

Прим.: //- Конкатенация
Предполагается, что все адреса на рисунке в 16-ричном формате. Если при обращении к странице, ее не оказывается в памяти, то возникает исключение (самое распространенное в windows 0C000000) называемое нарушением страниц – page fault, и управление передается диспетчеру памяти, который отдает первую не свободную физическую страницу, загрузив ее перед этим из файла свопинга. Если свободных физических страниц нет, то происходит замена страницы. Алгоритм выбирает для замещения ту страницу, к которой не было обращений дольше всех. В случае аппаратной поддержки страничного способа организации памяти проц устанавливает бит обращения в дискрипторе автоматически при  обращения к странице; сбрасывается этот бит-программа.

Как и в случае с сегментным способом организации памяти, страничный механизм без аппаратной поддержки существенно замедляет работу памяти ( в современных процессорах такая поддержка имеется).
Наиболее эффективный комплекс ускорения работы – создание аппаратного КЕШа для страничных дескрипторов. Начиная с процессора. Intel 80386 в нем внедрили КЕШ (страничный) на 32 дескриптора. Размер страниц процах от Intel равен 32Кб.
-         минимально возможная фрагментация;
-         существенные накладные расходы;
рубление на страницы без учета логических взаимодействий и связей в проге, поэтому межстраничные переходы осуществлялись чаще, чем межсегментные.

Комментариев нет:

Отправить комментарий