Интернет магазин китайских планшетных компьютеров



Компьютеры - Сегментная защита памяти

23 января 2011


Оглавление:
1. Сегментная защита памяти
2. Взаимодействие уровней привилегий



Определения

Существует четыре уровня привилегий сегментов. Привилегированность увеличивается с уменьшением номера. Уровни 0–2 соответствуют супервизору, 3 – пользователю. На нулевом уровне позволяется использование привилегированных инструкций.

Уровень привилегий сегмента соответствует значению поля DPL в дескрипторе сегмента.

Текущий уровень привилегий соответствует уровню привилегий сегмента кода, селектор которого загружен в регистр CS.

Запрашиваемый уровень привилегий находится в двух младших битах селектора.

Условия и принцип защиты

При загрузке селектора в сегментный регистр и при обращении к памяти проверяются условия сегментной защиты, и при несоблюдении вызывается обработчик исключения #GP.

Условия защиты следующие:

  • Нельзя обращаться за пределы сегмента, обозначенные лимитом;
  • В сегментные регистры ES, CS, SS, DS, FS, GS нельзя загружать селекторы, указывающие на системные сегменты;
  • В регистры ES, DS, FS, GS можно загружать селекторы таких сегментов, у которых DPL>=Max;
  • В регистры ES, DS, FS, GS можно загружать только селекторы сегментов данных или сегментов кода для выполнения/чтения;
  • В регистр CS нельзя загружать селектор сегмента данных;
  • В регистр CS можно загружать селектор сегмента кода только при CPL=DPL;
  • В регистр SS можно загружать только селектор сегмента данных для чтения/записи с DPL = CPL;
  • В сегмент кода нельзя писать;
  • В сегмент данных только для чтения нельзя писать;
  • В системные регистры LDTR, TR можно загружать только селекторы сегментов LDT и TSS соответственно;


Просмотров: 1141


<<< Сегментная адресация памяти
Страничная память >>>