Структура страниц
Рис.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).
Дата добавления: 2015-06-05; просмотров: 775;