Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Диспетчер виртуальной памяти (Virtual Memory Manager)



Windows - это система со страничной виртуальной памятью. В такой системе содержимое адресного пространства процесса хранится во вторичной памяти и при необходимости происходит постраничная загрузка из вторичной в первичную ( выполняемую ) память.

При создании процессу выделяется виртуальное адресное пространство 4 Гб, хотя в этот момент ни один из адресов в действительности не размещен. Когда процесс нуждается в памяти, то во-первых необходимое адресное пространство резервируется для последующего использования (при этом в действительности размещения в памяти не происходит). Когда процессу нужно сохранить информацию, он передает адресное пространство, при этом процессу действительно предоставляется память для хранения информации. Обычно операция передачи приводит к тому, что область на диске (в страничном файле) передается процессу. Информация хранится на диске до тех пор, пока на нее действительно не ссылается поток.

Подобно всем механизмам виртуальной памяти, когда выполняемый поток ссылается на виртуальный адрес, диспетчер виртуальной памяти гарантирует, что страница, содержащая виртуальный адрес, будет считана из страничного файла и размещена в физической памяти. И диспетчер виртуальной памяти отобразит виртуальный адрес, на который ссылается поток, в физический адрес, где размещена информация (см. Рис. 12 Виртуальная память).

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

· Процесс может напрямую ссылаться на любое место в системной области

· Все процессы разделяют одну системную область

· Такое большое совместно используемое адресное пространство реализуется за счет отображаемых в память файлов.

 

Рис. 12 Виртуальная память

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

Справочный монитор защиты (Security Reference Manager)

Ядро поддерживает низкоуровневые механизмы аутентификации. На уровне исполнительной системы за политики защиты отвечает справочный монитор защиты ( Security Reference Manager ). Он контролирует возможность доступа к объектам в соответствии с заданной политикой (политика задается на уровне подсистем).

Механизмы защиты, реализуемые справочным монитором защиты, используются вместе с модулем защиты пользовательского режима. Этот модуль называется подсистемой защиты (Local Security Authority, LSA) и позволяет устанавливать необходимую политику защиты. Подсистема защиты использует базу данных безопасности, которая хранится в реестре и определяет политику компьютера. Политику компьютера можно изменить, редактируя эту базу данных. При аутентификации сервер LSA сравнивает запрос с содержимым базы данных.

Справочный монитор защиты производит аутентификацию доступа к объектам исполнительной системы. Когда любой поток выполняет системный вызов для определенного доступа к объекту исполнительной системы, запрос на именно такой доступ передается справочному монитору защиты. Объект содержит дескриптор безопасности, который содержит владельца объекта и список контроля доступа (access control list, ACL) процессов, которым разрешен доступ к объекту. Справочный монитор защиты определяет идентификатор потока и тип требуемого им доступа, а затем проверяет, разрешен ли ему заданный доступ (используя информацию в ACL).

Подсистемы (Subsystems)

Серверы Windows называются защищенными подсистемами (protected subsystems ), так как каждый из них – это отдельный процесс, память которого защищена от других процессов системой виртуальной памяти. Термин “сервер” подразумевает, что каждая защищенная подсистема обеспечивает API, который могут использовать программы. Когда приложение (или другой сервер) вызывает некоторую процедуру API, серверу, реализующему данную процедуру, посылается сообщение при помощи средства локального вызова процедур (local procedure call, LPC) – оптимизированный механизм исполнительной системы для локальной передачи сообщений. Сервер посылает ответное сообщение вызывающей программе.

В Windows имеется два типа защищенных подсистем: подсистемы среды ( environment subsystems ) и неотъемлемые подсистемы ( integral subsystems ). Подсистема среды это сервер пользовательского режима, реализующий API некоторой ОС. Когда приложение вызывает функцию API, этот вызов доставляется посредством LPC подсистеме среды. Та исполняет вызов и возвращает результаты прикладному процессу, посылая другой LPC.

Самая важная подсистема среды в Windows это подсистема Win32, которая предоставляет прикладным программам Win32 API, кроме того, она реализует графический интерфейс пользователя и управляет всем вводом/выводом приложений.

Неотъемлемая подсистема – это подсистема защиты.

Win32 API

Это основной интерфейс программирования в семействе ОС Microsoft Windows, включая Windows 2000, Windows 95, Windows 98, Windows Millennium Edition и Windows CE.

Под Win32 API мы будем понимать базовый набор функций, предназначенных для поддержки процессов, потоков, управления памятью, защиты, ввода-вывода, операций с окнами, графики и др. (см. Microsoft Developer Network, MSDN).


Поделиться:



Последнее изменение этой страницы: 2017-03-17; Просмотров: 913; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.013 с.)
Главная | Случайная страница | Обратная связь