ВУЗ:
Составители:
17
В представленной выше таблице биты, входящие в поля типа,
рассмотрены по отдельности. Часто для их совместной интерпретации
рассматривают комбинации этих битов в целом. В таблице 1.4 показаны
некоторые комбинации этих битов.
Таблица 1.4 – Типичные комбинации в поле типа сегмента
Комбинации
битов в поле
type_seg
Назначение сегмента
000 Сегмент данных только для чтения
001 Сегмент данных с разрешение чтения и записи
010 Не определено
011 Сегмент стека с разрешение чтения и записи
100 Сегмент кода с разрешение только выполнения
101 Сегмент кода с разрешением выполнения и чтения из него
110 Подчиненный сегмент кода с разрешением выполнения
111 Подчиненный сегмент кода с разрешением выполнения и чтения из
него
Как видно из содержимого поля типа в байте AR, возможны два
принципиально разных вида сегментов: данных и кода. Сегмент стека
является разновидностью сегмента данных, но с особой трактовкой поля
размера сегмента. Это объясняется спецификой использования стека (он
растет в направлении от старших адресов памяти к младшим). Ясно, что
поле типа
ограничивает использование объявленных сегментов. В
частности, программные сегменты не могут быть модифицированы без
применения специальных мер. Доступ к сегменту данных также может
быть ограничен только чтением.
Системные сегменты предназначены для хранения локальных
таблиц дескрипторов LDT и состояния задач TSS (Task State Segment). Их
дескрипторы определяют базовый адрес, лимит сегмента (1 – 64 Кбайт),
права доступа (чтение, чтение
/запись, только исполнение кода,
исполнение/чтение) и присутствие сегмента в физической памяти (рисунок
1.6)
В представленной выше таблице биты, входящие в поля типа,
рассмотрены по отдельности. Часто для их совместной интерпретации
рассматривают комбинации этих битов в целом. В таблице 1.4 показаны
некоторые комбинации этих битов.
Таблица 1.4 – Типичные комбинации в поле типа сегмента
Комбинации
битов в поле Назначение сегмента
type_seg
000 Сегмент данных только для чтения
001 Сегмент данных с разрешение чтения и записи
010 Не определено
011 Сегмент стека с разрешение чтения и записи
100 Сегмент кода с разрешение только выполнения
101 Сегмент кода с разрешением выполнения и чтения из него
110 Подчиненный сегмент кода с разрешением выполнения
111 Подчиненный сегмент кода с разрешением выполнения и чтения из
него
Как видно из содержимого поля типа в байте AR, возможны два
принципиально разных вида сегментов: данных и кода. Сегмент стека
является разновидностью сегмента данных, но с особой трактовкой поля
размера сегмента. Это объясняется спецификой использования стека (он
растет в направлении от старших адресов памяти к младшим). Ясно, что
поле типа ограничивает использование объявленных сегментов. В
частности, программные сегменты не могут быть модифицированы без
применения специальных мер. Доступ к сегменту данных также может
быть ограничен только чтением.
Системные сегменты предназначены для хранения локальных
таблиц дескрипторов LDT и состояния задач TSS (Task State Segment). Их
дескрипторы определяют базовый адрес, лимит сегмента (1 – 64 Кбайт),
права доступа (чтение, чтение/запись, только исполнение кода,
исполнение/чтение) и присутствие сегмента в физической памяти (рисунок
1.6)
17
Страницы
- « первая
- ‹ предыдущая
- …
- 15
- 16
- 17
- 18
- 19
- …
- следующая ›
- последняя »
