Способы организации виртуальной памяти
Основным достоинством страничной организации является минимально возможная фрагментация, поскольку на каждую задачу может приходится по одной незаполненной странице.
Недостатки:
1) Накладные расходы, т.е. таблицы страниц нужно размещать в памяти и их нужно обрабатывать.
2) Программы разбиваются на страницы случайно без учета логических взаимосвязей имеющихся в коде программы. Поэтому межстраничные переходы осуществляются чаще нежели межсегментные и трудно организовать разделение программных модулей между выполняющимися программами.
Чтобы избежать второго недостатка сохранив достоинства страничного способа распределения памяти был предложен сегментно-страничный способ организации виртуальной памяти.
Сегментно-страничный способ организации виртуальной памяти.
Для понимания защищенного режима работы необходимо знать основные регистры процессора i80*86.
|
31 |
|
15 |
0 |
|
31 |
|
15 |
0 |
|
|
|
|
|
|
|
EAX |
AX |
|
EIP |
IP |
|
|
|
|
|
|
||||
|
EBX |
BX |
|
FLAGS |
FLAGS |
|
|
|
|
|
|
||||
|
ECX |
CX |
|
|
|
|
|
|
|
|
|
|
|
||
|
EDX |
DX |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
ESP |
SP |
|
|
|
|
|
|
||
|
|
|
|
|
|
EBP |
BP |
|
|
|
|
|
|
||
|
|
|
|
|
|
ESI |
SI |
|
|
|
|
|
|
||
|
|
|
|
|
|
EDI |
DI |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
0 |
|
63 |
|
|
|
47 |
|
|
|
15 |
|
|
0 |
|
CS |
|
Права доступа |
Базовый адрес |
Длина сегмента |
||||||||||
|
SS |
|
|
|
|
||||||||||
|
DS |
|
|
|
|
||||||||||
|
ES |
|
|
|
|
||||||||||
|
FS |
|
|
|
|
||||||||||
|
GS |
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LDTR |
|
|
|
|
||||||||||
|
TR |
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
0 |
|
|
|
|
|
47 |
|
|
|
15 |
|
|
0 |
|
CR3 |
|
GTDR |
|
|
||||||||||
|
CR2 |
|
IDTR |
|
|
||||||||||
|
CR1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CR0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
При каждом из сегментных регистров CS-GSизображены пунктиром скрытые от программистов, доступные только микропроцессору, 64 битовые регистры, в которые загружаются дескрипторы соответствующих сегментов. Регистр LDTR – регистр указатель на локальную таблицу сегментов текущей задачи, также имеет «теневой» 64 битовый регистр, в который микропроцессор заносит дескриптор указывающий на таблицу дескрипторов-сегментов задачи, описывающих её локальное виртуальное адресное пространство. Регистр - указатель задачи – TR (Task Register) указывает на дескриптор в глобальной таблице дескрипторов, чтобы получить доступ к дескриптору задачи Task State Segment – в информационной структуре для управления процессами (задачами).
Регистр Global Descriptor Table Registerуказывает на начальный адрес глобальной таблицы GDTрегистров, содержащей дескрипторы общих сегментов.
предыдущаяследующая