Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория вычислительных процессов (1).doc
Скачиваний:
11
Добавлен:
01.03.2025
Размер:
9 Мб
Скачать
☆

Флаги защиты для страниц.

PAGE_READONLY ставится на страницы с которых выполнимы только чтение.

PAGE_READWRITE доступ для чтения записи.

PAGE_EXECUTE допускается исполнение кода.

PAGE_EXECUTEREAD чтение исполнение.

PAGE_EXECUTEREADWRITE доступ для исполнения.

PAGE_GUARD ограничение исполнения потока.

PAGE_NOACCESS Блокирует любые попытки доступа к данной странице.

В структуре адресного пространства системы области занимаемые задачей и ядром ОС размещаются в разных диапазонах адресов и изолируются друг от друга страницами с флагом защиты PAGE_NOACCESS при попытке обратится из пользовательской задачи к области занимаемый ядром ОС произойдет срабатывание системы защиты и доступ будет заблокирован.

В различных ОС даже принадлежащих одной линейки, существуют различия в количестве и типов флагов защиты для страниц, так например в версиях windows 98 и ниже не может быть применен такой флаг WRITECOPY в более старших версия(исключая xp sp1) этот флаг защиты может применятся. Получить полные сведения о том какие флаги доступны для данной версии ОC можно в руководстве разработчика.

26.9.12 Лекция 6. Страничная сегментная адресация. Продолжение.

Отдельно страничная и сегментная адресация (разбиение памяти) используются сейчас достаточно редко, в современных ОС настроены механизмы варьирования механизма разбиения виртуальной памяти. Главным недостатком страничного разделения является одинаковость страниц и при это их малый размер, это не всегда удобно для "больших" процессов, с размещением страниц в памяти есть еще один нюанс: необходимо выбрать метод размещения в памяти. Существет четыре основных метода размещения:

  1. Страницы размещаются последовательно и их размещение подчиняется закону FiFo.

  1. Когда используется область, к которой наиболее часто обращается процессы, в этом случае с одной стороны есть плюсы быстроты обращения, с другой стороны есть недостаток раннего появления ошибок, в данном регионе.

  1. Выбор участков наименее используемых, здесь достоинства и недостатки полностью обратны предыдущему методу размещения.

  1. Рандомный способ.

Компании не требовательны к ресурсам используют метод ФиФо. Компании которые более требовательны к аппаратному обеспечению, большинство *nix систем используют методы наиболее используемого региона и менее используемого региона(2 и 3). Рандомный метод используется очень редко.

Некоторые особенности 64-х разрядных систем.

Теоретически объем виртуальной памяти для таких систем должен составлять 2^64 степени бит, но реально система позволяет обратиться только к 2^48 степени бит, если в 32х битных системах предоставляется 4гб ВАП из них в собственные задачи предоставляется 2гб, а 2гб выделено для размещения ядра ОС, то 64х битных системах в собственность процессу выделяется ВАП чуть более 8тб из которых в собственность задачи предоставляется 2/3, работа с 64х битными системами предполагает наличие сложной системы защиты с увеличенной длинной ключа. Флаги защиты для страниц у таких систем всегда должны устанавливаться самой системой или пользователем и часто комбинируются оператором OR с флагами PAGE_GUARD и PAGE_NOACCESS срабатывание флага защиты приводит к блокировки доступа к страницы вызывая ошибку "попытка доступа".

Для 64х систем реализованы практически все все функции Win32Api, сложность представляет наличие возможности у таких систем заблокировать для прикладной задачи использующие даже низко уровневые функции о состояние региона/страницы памяти, в этом случае выдается ошибка "неопределенно".