Ремонт, сервис, услуги » Информация » Объекты исполняющей системы




Объекты исполняющей системы

Автор: addministr от 7-08-2014, 12:07

Категория: Информация



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

Например, для создания файла приложение Windows вызывает Windows-функцию CreateFileW, реализованную в DLL-библиотеке подсистемы Windows Kernelbase.dll. После проверки и инициализации функция CreateFileW, в свою очередь, для создания объекта файла исполняющей системы вызывает исходную Windows-службу NtCreateFile. Набор объектов подсистемы среды окружения, предоставляемый ее приложениям, может быть больше или меньше набора, предоставляемого исполняющей системой. Подсистема Windows использует объекты исполняющей системы для экспорта своего собственного набора объектов, многие из которых напрямую связаны с объектами исполняющей системы.

Например, мьютексы и семафоры Windows непосредственно основаны на объектах исполняющей системы (которые, в свою очередь, основаны на соответствующих объектах ядра). Кроме того, подсистема Windows предоставляет именованные каналы и почтовые слоты, ресурсы, основанные на объектах файлов исполняющей системы. Некоторые подсистемы, такие как Subsystem for UNIX Applications, вообще не поддерживают объекты как таковые. Subsystem for UNIX Applications использует объекты исполняющей системы и службы в качестве основы для представления процессов, каналов и других ресурсов в стиле UNIX для своих приложений.

В исполняющей системе реализовано всего 4242 типа объектов. Многие из этих объектов предназначены только для использования теми компонентами исполняющей системы, которые их определили, и получить непосредственный доступ к ним из функций Windows API невозможно. В качестве примера таких объектов можно привести Driver, Device, и EventPair. В таблице перечислены первичные объекты, предоставляемые исполняющей системой, и дано краткое описание того, что они представляют. Полный список типов объектов можно получить, после запуска Winobj с привилегированными правами и перехода в каталог ObjectTypes.

Поскольку изначально предполагалось, что Windows NT будет поддерживать операционную систему OS/2, мьютекс должен был быть совместим с существующей конструкцией объектов взаимного исключения OS/2, то есть иметь конструкцию, от которой требовалось, чтобы поток мог отказаться от объекта, оставив его недоступным. Поскольку подобное поведение для такого объекта считалось необычным, был создан еще один объект ядра — мутант. Со временем от поддержки OS/2 отказались, и объект стал использоваться подсистемой Windows 32 под названием мьютекс (но при этом он сохранил внутреннее имя мутант).



Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Архив | Связь с админом | Конфиденциальность

RSS канал новостей     Яндекс.Метрика