Режим супервизора соответствует привилегиям на
Режим супервизора соответствует привилегиям на уровне сегментов CPL = 0, CPL = 1 и CPL = 2. В режиме супервизора доступны все страницы. Режим пользователя соответствует привилегиям на уровне сегментов CPL = 3. В режиме пользователя доступны только страницы пользователя. В адресное пространство супервизора попадают страницы, для которых соответствующий элемент таблицы страниц или каталога таблиц содержит бит US = 0. В адресное пространство пользователя попадают страницы, для которых и соответствующий элемент таблицы страниц, и соответствующий элемент каталога таблиц содержат бит US = 1.
В МП Intel-386 ограничение типа доступа применяется только в адресном пространстве пользователя. Программа в режиме пользователя имеет право изменять только те страницы, для которых и соответствующий элемент таблицы страниц, и соответствующий элемент каталога таблиц содержат бит RW = 1. Если для какой-либо страницы элемент таблицы страниц или элемент каталога таблиц содержит бит RW = 0, то страница доступна только для чтения. В режиме супервизора все страницы доступны и для чтения, и для записи.
Когда используются оба вида защиты и на уровне страниц, и на уровне сегментов, процессор сначала выполняет проверки защиты сегментов, и только в случае успеха - проверки защиты страниц. Т.е. если доступ к памяти отвергается защитой на уровне сегментов, то будет сгенерировано нарушение общей защиты, а проверки защиты страниц выполняться не будут и дополнительно страничное нарушение не возникнет. Если проверки защиты сегментов проходят успешно, но нарушаются правила защиты страниц, генерируется страничное нарушение. Доступ к памяти предоставляется, только когда выполнены все правила и для сегментов, и для страниц.
В табл. 4.2 представлены сводные характеристики режимов IA-32.
Таблица 4.2. Сравнение режимов микропроцессоров IA-32ХарактеристикаRMPM, VM = 0PM, VM = 1SMM
Формирование линейного адреса | без дескрипторных таблиц | через дескрипторную таблицу | без дескрипторных таблиц | без дескрипторных таблиц |
Предел сегментов | 64 Кб | определяется дескриптором | 64 Кб | 4 Гб |
Размер адреса/данных по умолчанию | 16 бит | определяется дескриптором | 16 бит | 16 бит |
Максимальный объем доступной памяти (виртуальной) | ~1 Мб | ~64 Тб | ~1 Мб | ~4 Гб |
Защита | нет1) | да | да | нет |
Страничная трансляция | нет | да | да | нет |
Многозадачность | нет | да | да | нет |
Обработка прерываний | таблица векторов | дескрипторная таблица | дескрипторная таблица | нет2) |
Содержание Назад Вперед