Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Совместное использование объектов

2017-06-11 463
Совместное использование объектов 0.00 из 5.00 0 оценок
Заказать работу

Вверх
Содержание
Поиск

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

Наиболее распространенный вариант - когда двум или более процессам известно имя разделяемого объекта. В этом случае один из процессов создает объект (например, с помощью функции CreateSemaphore), а остальные открывают его для себя (например, с помощью функции OpenSemaphore).

 

Рис. 4.6. Совместное использование объектов

Другим способом получения доступа к уже существующему объекту является наследование дочерним процессом объектов родительского процесса. Наконец, можно осуществить дублирование описателя открытого объекта при помощи функции DuplicateHandle.

Система управляет объектами "файл" отлично от других объектов ядра. Объект "файл" содержит указатель текущей позиции в файле. Поэтому каждый вызов функции CreateFile для одного и того же файла приводит к созданию нового объекта "файл" и соответственно - нового описателя объекта. Лишь процедуры дублирования описателей и наследования позволяют получить новый описатель к одному и тому же объекту. Более сложные сценарии создания объектов и дублирования описателей к ним имеются в MSDN

Реестр

В составе windows есть утилита regedit.exe. Описание работы с реестром http://www.oszone.net/6176 http://comp0.ru/reestr.html.

Операционная система управляет большим объемом информации, необходимой для ее загрузки и конфигурирования. В ранних версиях Windows эта информация содержалась в различных текстовых файлах с расширением.ini (Win.ini, System.ini и т.д.). Начиная с Windows 95, эта информация хранится в централизованной общесистемной базе данных, называемой реестром (registry). Для просмотра и модификации данных реестра имеются штатные утилиты (regedit или редактор реестра, например), однако рекомендуется это делать с помощью административной консоли управления.

 

Рис. 4.7. Общий вид редактора реестра

Данные реестра хранятся в виде иерархической древовидной структуры. Каждый узел или каталог называется разделом или ключом (keys), а названия каталогов верхнего уровня начинаются со строки HKEY. Каждый раздел может содержать подраздел (subkey). Записи нижней части структуры называются параметрами (values), данные которых строго типизированы, см. MSDN.

Реестр содержит шесть корневых разделов:

1 HKEY_CURRENT_USER,

2 HKEY__USERS,

3 HKEY_CLASSES_ROOT,

4 HKEY_LOCAL_MACHINE,

5 HKEY_PERFORMANCE_DATA

6 HKEY_CURRENT_CONFIG.

Наиболее важным, вероятно, является раздел HKEY_LOCAL_MACHINE. В нем содержится вся информация о локальной системе.

Пространство имен реестра интегрировано с общим пространством имен ядра. Оно является третьим пространством имен в системе наряду с пространствами имен объектов и файлов. Для интеграции система поддерживает объект "раздел реестра" (key есть среди типов объектов).

Реестр хранится на диске в виде набора файлов, называемых "кустами" или "ульями" (hives). Большинство из них находится в каталоге \Systemroot\System32\Config. Большое значение уделяется повышению надежности хранения. В частности, система ведет протоколы модификации кустов (при помощи так называемых регистрационных кустов, log hives), которые обеспечивают гарантированную возможность восстановления постоянных кустов реестра. Для еще большей защиты целостности на диске поддерживаются зеркальные копии критически важных кустов. Структура кустов подробно описана в [6], а их описатели можно просмотреть с помощью утилиты Handleex.exe с сайта http://www.sysinternals.com.

Данные реестра полностью доступны через Win32 API. Существуют вызовы для просмотра, создания и удаления разделов и параметров. Чтобы получить доступ к данным, нужно (при наличии необходимых привилегий) открыть соответствующий раздел с помощью функции RegOpenKeyEx. Для записи или удаления можно использовать функции RegSetValue, RegDeleteValue. Более подробно работа с данными реестра описана в MSDN и в [4], [5].

Заключение

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


Поделиться с друзьями:

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.011 с.