русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Атрибуты защиты страниц.


Дата добавления: 2013-12-23; просмотров: 1420; Нарушение авторских прав


Выделение физической памяти под программный код.

Физическая память выделяется в страничном файле. При запуске приложения ОС открывает его исполняемый файл и определяет объем кода и данных приложения. ОС резервирует регион адресного пространства и помечает, что физическая память, связанная с этим регионом – это сам исполнительный (ехе) файл. ОС не выделяет пространство из страничного файла, а использует истинное содержимое исполнительного (ехе) файла, как зарезервированный регион адресного пространства. Программный файл, размещённый на жестком диске и используемый как физическая память для того или иного региона адресного пространства, называется файлом, проецируемым в память. Windows резервирует регион. Файлы Windows готовы к "употреблению", в DOS необходимы

  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////
заголовки.

 

Виртуальное адресное пространство

 

0004:0000

 
 

 


Отдельные страницы имеют различные атрибуты защиты:

1) PAGE_NOACCESS. Попытка чтения, записи, исполнения в этом регионе памяти вызовет нарушение доступа.

2) PAGE_READONLY. Попытка записи, исполнения в этом регионе памяти вызовет нарушение доступа.

3) PAGE_READWRITE. Попытка исполнения в этом регионе памяти вызовет нарушение доступа.

4) PAGE_EXECUTE. Попытка чтения, записи в этом регионе памяти вызовет нарушение доступа.

5) PAGE_EXECUTE_READWRITE. Данный регион допускает любые операции.

6) PAGE_EXECUTE_READ. Попытка записи в этом регионе памяти вызовет нарушение доступа.

7) PAGE_WRITECOPY. Попытка исполнения в этом регионе памяти вызовет нарушение доступа. Запись в память этого региона приводит к тому, что процессу предоставляется личная копия данной страницы физической памяти.



8) PAGE_EXECUTE_WRITECOPY. Данный регион допускает любые операции.

В Windows 95 используются 1,2 и 3 атрибуты защиты. Кроме рассмотренных атрибутов защиты существуют два флага: PAGE_NOCACHE – отключает кэширование выделенной страницы. Использовать его не рекомендуется. В основном используется этот флаг разработчиками драйверов; PAGE_GUARD – специальный флаг. Используется при работе стека потока. Windows 95 эти флаги игнорирует. Флаги защиты можно объединять, используя логическую операцию OR. Для изменения атрибутов используется функция VirtualProtect(...).

Виртуальное адресное пространство   //////////////////////////////////////////////////
  //////////////////////////////////////////////
  Программный код или данные
Защиты типа PAGE_WRITECOPY и PAGE_EXECUTECOPY предназначены для экономного расходования оперативной памяти и места в страничном файле. В Win32 поддерживается механизм, позволяющий двум или более процессам получать одновременный доступ к единому блоку данных. Например:

 

1-я копия Физическая память 2-я копия

 

   
 
 
 

 


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

1) выделяет из страничного файла страницу физической памяти

2) отыскивает свободную страницу в памяти

3) копирует страницу с данными, которые поток пытается записать в общий блок на свободную страницу памяти, полученную на этапе 2

4) сопоставляет адрес этой страницы виртуальной памяти с новой страницей в памяти.

После этих действий ОС получает собственную копию этого блока данных и может делать с ней, что хочет. Windows 95 и Windows 98 не поддерживают копирование рпи записи.

 

Лекция № 5

 



<== предыдущая лекция | следующая лекция ==>
Механизм выделения страниц физической памяти. | Стек потока.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.