ВУЗ:
Составители:
10
− каждый элемент таблицы страниц содержит бит, указывающий на
возможность записи в соответствующую страницу памяти.
Не надо забывать, что каждый элемент таблицы страниц содержит
также бит, указывающий, представлена ли данная страница в оперативной
памяти.
Два бита разрешения доступа и записи формируют следующий набор
правил работы со страницами:
− страница всегда может
быть прочитана из режима ядра,
− на страницу может быть произведена запись из режима ядра,
только если установлен бит разрешения записи,
− страница может быть прочитана из пользовательского режима,
только если установлен бит доступа к странице из
пользовательского режима,
− на страницу может быть произведена запись из режима
пользователя, только
если установлены оба бита (разрешения
записи и доступ из пользовательского режима),
− если страница может быть прочитана, она может быть исполнена.
По умолчанию страницы памяти с исполняемым кодом не имеют
разрешения на запись. Поэтому при попытке использования селектора
данных для модификации кода будет сгенерировано исключение.
Для того, чтобы ядро операционной системы
(Windows NT) –
компоненты самой операционной системы и драйверы – всегда
располагались по фиксированным виртуальным адресам, независимо от
текущего контекста памяти, в NT осуществляется одинаковая трансляция
для верхних двух гигабайт диапазона виртуальных адресов.
Для защиты кода операционной системы соответствующие элементы
таблицы трансляции виртуальных адресов в физические помечены как
недоступные из пользовательского режима.
− каждый элемент таблицы страниц содержит бит, указывающий на
возможность записи в соответствующую страницу памяти.
Не надо забывать, что каждый элемент таблицы страниц содержит
также бит, указывающий, представлена ли данная страница в оперативной
памяти.
Два бита разрешения доступа и записи формируют следующий набор
правил работы со страницами:
− страница всегда может быть прочитана из режима ядра,
− на страницу может быть произведена запись из режима ядра,
только если установлен бит разрешения записи,
− страница может быть прочитана из пользовательского режима,
только если установлен бит доступа к странице из
пользовательского режима,
− на страницу может быть произведена запись из режима
пользователя, только если установлены оба бита (разрешения
записи и доступ из пользовательского режима),
− если страница может быть прочитана, она может быть исполнена.
По умолчанию страницы памяти с исполняемым кодом не имеют
разрешения на запись. Поэтому при попытке использования селектора
данных для модификации кода будет сгенерировано исключение.
Для того, чтобы ядро операционной системы (Windows NT) –
компоненты самой операционной системы и драйверы – всегда
располагались по фиксированным виртуальным адресам, независимо от
текущего контекста памяти, в NT осуществляется одинаковая трансляция
для верхних двух гигабайт диапазона виртуальных адресов.
Для защиты кода операционной системы соответствующие элементы
таблицы трансляции виртуальных адресов в физические помечены как
недоступные из пользовательского режима.
10
Страницы
- « первая
- ‹ предыдущая
- …
- 8
- 9
- 10
- 11
- 12
- …
- следующая ›
- последняя »
