Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Объекты, менеджер объектов.




Для слаженной работы системы ресурсов Windows создает объекты, управление которыми происходит с помощью менеджера объектов. Когда приложение открывает файл, создает поток или семафор, оно получает описатель объекта. Например, h Semaphore = CreateSemaphore (NULL, 0, MaxCount, “SemaphoreName”) – создается семафор и возвращается ссылка на объект.

Объекты – это абстрактная концепция, которая активно используется Windows для регулирования системных ресурсов. Наличие таких объектов является достоинством ОС. Преимущества:

  • Это единый интерфейс ко всем системным ресурсам.
  • Использование объектов дает возможность обновлять функциональность системы, не затрагивая программного интерфейса.
  • Удобство с точки зрения системной безопасности. Каждый объект имеет список прав доступа, который проверяется каждый раз, когда приложение создает свой описатель объектов.
  • Легко организовать совместный доступ к объектам, а также несложно отследить объекты, которые больше не используются.

Объекты ядра.

Поддержка объектов ядра выполняется ядро и исполнительной системой. Помимо объектов ядра существуют объекты для управления окнами (user) и графикой (gdi). Они уже реализуются подсистемой поддержки окон и графики. Ядро поддерживает базовые объекты двух видов: объекты диспетчера – события, мьютексы, семафоры, потоки ядра, таймеры и т.д.; управляющие объекты – DPC, APC, прерывания, процессы, профили и т.д.

Над объектами ядра находятся объекты исполнительной системы, каждый из которых инкапсулирует один или несколько объектов ядра. Они предназначены для управления памятью, процессами и межпроцессным обменом. Экспортируются в распоряжение приложений через win32-функции. К ним относятся процесс, поток, открытый файл, семафор, мьютекс, маркер доступа и др.

Внешние отличия объектов ядра от user и gdi состоит в наличии атрибутов защиты.

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

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

Каждый объект имеет заголовок объекта – содержит в себе имя объекта, каталог объекта, информация о защите, квота (устанавливает ограничение на количество процессов), счетчик ссылок, список процессов с открытыми описателями объектов (ссылки на процессы, по умолчанию максимум = 230), тип объекта (содержит имя типа, виды доступа, права доступа, является ли данный объект синхронизируемым или нет, методы: открыть, закрыть, удалить, проверка прав, запрос имени).

Тело объекта специфично для каждого типа объекта и содержит данные объекта.

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

Описатели объектов.

Создаются при вызове win32-функций. В случае успешного выполнения создается 64-битное описатель. При этом описатель находится в таблице описателей процессов. Из 64 разрядов 29 используется для ссылки на блок памяти объекта ядра, 3 – для флагов, 32 – для маски прав доступа. Маска прав формируется на этапе создания. По умолчанию описатель передан другому процессу быть не может, тем не менее существует возможность его дублирования. На самом деле win32-функция, создающая объект, возвращает приложению не сам описатель, а индекс в таблице описателей.

Именование объектов.

У каждого объекта есть имя для поиска и установки прав доступа. Пространство имен объектов, как и пространство имен реестров и файлов, организовано в виде дерева. В качестве вершины используется объект «каталог объектов» – включает информацию, необходимую для трансляции имен объектов и указателей на сами объекты.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...