Организация ввода-вывода. Часть 2. Драйверы для WINDOWS NT. Рощин А.В. - 12 стр.

UptoLike

Составители: 

12
1.2 Структуры данных защищенного режима
Процессор аппаратно контролирует доступ программ к любому
адресу в оперативной памяти. При работе в защищенном режиме адресное
пространство процессора делится на
глобальноеобщее для всех задач,
локальноеотдельное для каждой задачи.
Для получения доступа целевой адрес, к которому хочет получить
доступ программа, должен быть
описан для программы. Это означает, что
участок физической памяти, содержащий нужный адрес, должен быть
описан с помощью некоторого дескриптора сегмента, который
помещается в одну из трех таблиц дескрипторов. Локализация этих таблиц
осуществляется с использованием одного из системных регистров:
gdtr (Global Descriptor Table Register – регистр таблицы
глобальных дескрипторов), имеет размер 48 бит (6 байтов) и
содержит 32-битный
(биты 16-47) базовый адрес глобальной
таблицы дескрипторов GDT и 16-битное (биты 0-15) значение
предела, представляющее собой размер в байтах GDT,
ldtr (Local Descriptor Table Register – регистр таблицы локальных
дескрипторов), имеет размер 16 бит и содержит селектор
дескриптора локальной таблицы дескрипторов LDT, являющийся
указателем на дескриптор в таблице глобальных дескрипторов
GDT, который и описывает сегмент, содержащий локальную
таблицу дескрипторов LDT,
idtr (Interrupt Descriptor Table Register – регистр таблицы
дескрипторов прерываний), имеет размер 48 бит (6 байтов) и
содержит 32-битный (биты 16-47) базовый адрес таблицы
дескрипторов прерываний IDT и 16-битное (биты 0-15) значение
предела, представляющее собой размер в байтах IDT.
     1.2 Структуры данных защищенного режима
     Процессор аппаратно контролирует доступ программ к любому
адресу в оперативной памяти. При работе в защищенном режиме адресное
пространство процессора делится на
     − глобальное – общее для всех задач,
     − локальное – отдельное для каждой задачи.
     Для получения доступа целевой адрес, к которому хочет получить
доступ программа, должен быть описан для программы. Это означает, что
участок физической памяти, содержащий нужный адрес, должен быть
описан   с   помощью    некоторого        дескриптора   сегмента,   который
помещается в одну из трех таблиц дескрипторов. Локализация этих таблиц
осуществляется с использованием одного из системных регистров:
     − gdtr (Global Descriptor Table Register – регистр таблицы
         глобальных дескрипторов), имеет размер 48 бит (6 байтов) и
         содержит 32-битный (биты 16-47) базовый адрес глобальной
         таблицы дескрипторов GDT и 16-битное (биты 0-15) значение
         предела, представляющее собой размер в байтах GDT,
     − ldtr (Local Descriptor Table Register – регистр таблицы локальных
         дескрипторов), имеет размер 16 бит и содержит селектор
         дескриптора локальной таблицы дескрипторов LDT, являющийся
         указателем на дескриптор в таблице глобальных дескрипторов
         GDT, который и описывает сегмент, содержащий локальную
         таблицу дескрипторов LDT,
     − idtr (Interrupt Descriptor Table Register – регистр таблицы
         дескрипторов прерываний), имеет размер 48 бит (6 байтов) и
         содержит 32-битный (биты 16-47) базовый адрес таблицы
         дескрипторов прерываний IDT и 16-битное (биты 0-15) значение
         предела, представляющее собой размер в байтах IDT.



                                     12