Процесс обращается к физической памяти по виртуальному адресу, который представляет собой пару чисел: селектор и смещение. Селектор однозначно определяет виртуальный сегмент, к которому принадлежит искомый адрес, то есть это номер сегмента. Номер сегмента находится в соответствующем сегментном регистре. Смещение определяет положение искомого адреса относительно начала сегмента. Смещение определяется по полю машинной команды.
Формат селектора
13 1 2
Индекс (номер сегмента) | 0 /1 |
15 2 0 уровень привилегий DPL
от 0 до 3
указатель типа таблицы
0 : GDT 1 : LDT
Виртуальное адресное пространство процесса складывается из всех сегментов, описанных в общей для всех процессов глобальной таблице, и сегментов, описанных в его собственной локальной таблице. Максимальное число сегментов каждого типа может быть 8192 (2 13 ), то есть всего 16 384. С учетом максимального размера сегмента 4 Гбайта – каждый процесс при чисто сегментной организации виртуальной памяти может работать в виртуальном адресном пространстве в 64 Тбайта. Таким образом, виртуальное пространство в 64 Тбайта может быть отображено на физическое пространство размером в 4 Гбайта.