Руководство по языку B.Pascal 7


Что такое защищенный режим? - часть 2


Рис. 17.2 Генерация физического адреса в защищенном режиме.

Каждая запись в таблице дескрипторов называется дескриптором и определяет сегмент в памяти. Запись таблицы дескрипторов зани- мает 8 байт, а записанная в дескрипторе информация включает в се- бя базовый адрес, предельное значение и флаги полномочий доступа к сегменту.

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

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

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




- Начало -  - Назад -  - Вперед -