Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л12_13_14_15КУТО.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
29.81 Mб
Скачать

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

В Р-режиме или V-режиме процессор i486 поддерживает страничное преобразование адреса. Внутреннее устройство управления памятью (Memory Management UnitMMU) наряду с обязательной сегментацией реализует еще один уровень косвенности в формировании физического адреса памяти. Основное применение страничного преобразования адреса связано с организацией виртуальной памяти, которая позволяет программисту использовать большее пространство памяти, чем физическая оперативная память. Такое средство «расширения» физической памяти давно применяется в больших компьютерах и миникомпьютерах.

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

2.2.1. Структура страниц

Рис.2.13. Страничная память а - виртуальная, б - физическая

При разрешенном страничном преобразовании адреса линейное адресное пространство 4 Гбайт процессора i486 подразделяется на 1М страниц по 4 Кбайт каждая (см. рис. 2.13(а)). Физическая память также разделяется на страницы (их иногда называют страничными кадрами — page frame) с тем же размером 4 Кбайт. Как видно из рис. 2.13(6), пространство виртуальной памяти 4 Гбайт намного больше пространства 1 М — 16 Мбайт физически реализованной памяти. Следовательно, в любой момент времени только часть всех страниц виртуальной памяти присутствует в физической памяти. Отсутствующие в физической памяти страницы обычно хранятся во внешней памяти, которой чаще всего служат накопители на жестких магнитных дисках. Фиксированный размер всех страниц позволяет загрузить любую нужную виртуальную страницу в любую физическую страницу (в любой страничный кадр); этим объясняется широкое применение страничной организации для построения систем виртуальной памяти.

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

Границы страниц следуют через одинаковые интервалы 4 Кбайт. В то же время границы сегментов являются произвольными, т.е. зависят от базового адреса конкретного сегмента. Строго говоря, границы сегментов и страниц не зависят друг от друга и не обязательно должны быть выравнены. Сегменты определяются дескрипторными таблицами GDT и LDT, а страницы определяются набором таблиц страниц (page table). Однако для повышения производительности процессора рекомендуется выравнивать небольшие сегменты (с размером 4 Кбайт и менее, например сегменты состояния задач TSS) так, чтобы они полностью находились в пределах одной страницы. Такое выравнивание гарантирует, что при загрузке одной страницы будет полностью загружен весь сегмент.

Для сегментов имеется четыре уровня привилегий 0, 1, 2 и 3. В страничной организации памяти есть всего два уровня привилегий, которые называются пользователем и супервизором. При этом уровень 3 считается уровнем пользователя (User), а уровни 0, 1 и 2 уровнем супервизора (Supervisor).