→ Пошук по сайту       Увійти / Зареєструватися
Знання Архитектура пк ДИСПЕТЧЕР ОБЪЕКТОВ И КОНТРОЛЬ ДОСТУПА Объекты исполнительной системы NT

Структура объектов

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

Диспетчер объектов использует данные заголовка объекта для обработки объектов способом, не зависящим от их типа. На рис. 3-1 показаны данные, или атрибуты, содержащиеся в заголовке объекта. Табл. 3-2 кратко описывает эти атрибуты.

Содержимое заголовка объекта

Рис. 3-1. Содержимое заголовка объекта


Таблица 3-2. Стандартные атрибуты заголовка объекта

Атрибут Назначение
Имя объекта Делает объект видимым другим процессам для совместного использования
Каталог объектов Обеспечивает иерархическую структуру, в которой хранятся имена объектов
Дескриптор защиты Определяет, кто и каким образом может использовать данный объект
Расход квоты Задает квоту на использование ресурсов, которая списывается с процесса, когда тот открывает описатель данного объекта
Счетчик открытых описателей Подсчитывает количество открытых описателей данного объекта
База данных открытых описателей Содержит список процессов, открывших описатели данного объекта
Временный/постоянный статус Указывает, можно ли уничтожить имя и освободить память объекта, если он более не используется
Режим: пользовательский/ядра Определяет доступность объекта в пользовательском режиме
Указатель на типовой объект Ссылается на типовой объект, который содержит атрибуты, общие для набора однотипных объектов

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


Таблица 3-3. Универсальные объектные сервисы

Сервис Назначение
Закрыть Закрывает описатель объекта
Дублировать Обеспечивает совместное использование объекта путем дублирования его описателя и передачи копии другому процессу
Опросить объект Получает информацию о стандартных атрибутах объекта
Опросить защиту Получает дескриптор защиты объекта
Установить защиту Изменяет параметры защиты объекта
Ждать одного объекта Синхронизирует исполнение потока с одним объектом
Ждать несколько объектов Синхронизирует исполнение потока с несколькими объектами

Помимо заголовка, каждый объект имеет тело, формат и содержимое которого определяются типом объекта; тела всех объектов одного типа имеют одинаковый формат. Определяя тип объектов и предоставляя сервисы для него, компонент исполнительной системы может управлять доступом к данным в телах всех объектов данного типа.

Любой компонент исполнительной системы может задавать тип объектов, и большинство из них делают это. Задание типа объекта состоит в том, чтобы определить данные, которые будут храниться в теле каждого объекта этого типа, сообщить размер тела диспетчеру объектов, чтобы он мог выделить нужный объем памяти при создании объекта, и предоставить сервисы для нового типа объектов. Например, диспетчер процессов определяет тело объектов-процессов и обеспечивает сервисы для работы с хранящимися в нем данными. Аналогично, диспетчер объектов определяет формат тела и сервисы для файлового объекта. Содержимое тел различных объектов, а также определяющих их компонентов исполнительной системы NT описывается ниже.

загрузка...
Сторінки, близькі за змістом