ВУЗ:
Составители:
8
Каждый из этих четырех селекторов позволяет адресовать все 4
Гбайта линейного адресного пространства, причем трансляция
производится в одни и те же физические адреса.
Первые два селектора имеют требуемый уровень привилегий DPL =
0 (наивысший приоритет, DPL – Descriptor Privilege Level, уровень
привилегий дескриптора) и используются драйверами и системными
компонентами для доступа к системному коду, данным и стеку. (
Здесь
следует отметить, что из четырех возможных уровней привилегий 0 – 4,
предоставляемых данным типом процессоров, в операционных системах
Windows используются лишь два уровня – 0 и 3.)
Вторые два селектора используются кодом пользовательского
режима для доступа к коду, данным и стеку пользовательского же режима.
Эти селекторы являются константами для Windows NT.
Преобразование пары селектор:смещение для указанных селекторов
дает 32-битный линейный адрес, совпадающий со значением смещения
виртуального адреса. То есть, в данном случае виртуальный и линейный
адреса совпадают.
Наличие в дескрипторе поля, определяющего возможность
чтения/записи/исполнения кода, может навести на мысль о том, что
именно на этом уровне может быть выполнена защита памяти от неверного
использования. Например, код
прикладной программы в пользовательском
режиме находится в сегменте с селектором 1b. Для этого селектора
разрешены только операции чтения и исполнения. То есть, используя
селектор 1b, программа не сможет модифицировать свой собственный код.
Однако, та же программа, обращаясь к данным или стеку (селектор 23)
найдет свой код по тому же смещению, что и в
сегменте 1b (так как для
всех указанных сегментов трансляция производится в одни и те же
физические адреса), но режим доступа в данном случае позволяет
Каждый из этих четырех селекторов позволяет адресовать все 4
Гбайта линейного адресного пространства, причем трансляция
производится в одни и те же физические адреса.
Первые два селектора имеют требуемый уровень привилегий DPL =
0 (наивысший приоритет, DPL – Descriptor Privilege Level, уровень
привилегий дескриптора) и используются драйверами и системными
компонентами для доступа к системному коду, данным и стеку. (Здесь
следует отметить, что из четырех возможных уровней привилегий 0 – 4,
предоставляемых данным типом процессоров, в операционных системах
Windows используются лишь два уровня – 0 и 3.)
Вторые два селектора используются кодом пользовательского
режима для доступа к коду, данным и стеку пользовательского же режима.
Эти селекторы являются константами для Windows NT.
Преобразование пары селектор:смещение для указанных селекторов
дает 32-битный линейный адрес, совпадающий со значением смещения
виртуального адреса. То есть, в данном случае виртуальный и линейный
адреса совпадают.
Наличие в дескрипторе поля, определяющего возможность
чтения/записи/исполнения кода, может навести на мысль о том, что
именно на этом уровне может быть выполнена защита памяти от неверного
использования. Например, код прикладной программы в пользовательском
режиме находится в сегменте с селектором 1b. Для этого селектора
разрешены только операции чтения и исполнения. То есть, используя
селектор 1b, программа не сможет модифицировать свой собственный код.
Однако, та же программа, обращаясь к данным или стеку (селектор 23)
найдет свой код по тому же смещению, что и в сегменте 1b (так как для
всех указанных сегментов трансляция производится в одни и те же
физические адреса), но режим доступа в данном случае позволяет
8
Страницы
- « первая
- ‹ предыдущая
- …
- 6
- 7
- 8
- 9
- 10
- …
- следующая ›
- последняя »
