Реферат: Структура реестра

СТРУКТУРАРЕЕСТРА


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

/>

Рис.1. Реестр использует многие компоненты Windows

Изначально реестр был предназначен только для хранениясведений об объектах OLE (Object Linking and Embedding — связь и внедрениеобъектов) и сопоставлений приложений расширениям имен файлов, однако позже егоструктура и границы использования расширились.

Достоинства реестра.

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

2. Используя системный реестр, можносвязать определенные действия командного процессора (в частности, open и print)с соответствующими типами документов. А когда пользователь выполняет щелчокправой кнопкой мыши на пиктограмме документа в проводнике Windows Explorer, тов этом случае появляется контекстное меню, в котором перечислены определенныепрограммные действия.

3. Возможность OLE-регистрации,поддержки локализованных версий приложений, применение сетевых протоколов исвязывания, а также поддержка автоматической настройки приложений.

Формат отображения данных в системномреестре весьма похож на то, как папки и документы отображаются в проводникеWindows Explorer. Отчасти это связано с тем, чтоструктура системного реестра подобна структуре каталогов (рис.2).

Реестр хранится в бинарном (двоичном)виде, поэтому для ручной работы с ним необходима специальная программа — редакторсистемного реестра (regedit). Один из способов исследованиясодержимого системного реестра связан с применением программы REGEDIT, утилитыкомпании Microsoft, которая обеспечивает возможность изменения содержимогосистемного реестра, а также соединения с системными реестрами другихкомпьютеров.


/>

Рис.2. Структура реестра

Если прибегнуть к терминологии,используемой в системном реестре, то ЭКВИВАЛЕНТОМ ПАПКИ ИЛИ КАТАЛОГА здесь являетсяКЛЮЧ или РАЗДЕЛ (KEY), а ДОКУМЕНТУ ИЛИ ФАЙЛУ соответствуют ПАРАМЕТР (VALUE).Разделы могут содержать как вложенные разделы (sub keys), так и параметры(рис.3). На верхнем уровне этой иерархии находятся корневые разделы (rootkeys).

/>

Рис.3 Подразделы и параметры подобны папкам и файлам

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

На рис.4 показана взаимосвязь междуключами и значениями в системном реестре.


/> <td/> />
В системных реестрах Windowsиспользуется обобщенная древовидная структура. Это означает, что в приложениях,написанных для разных версий Windows, может вполне допускаться тот факт, чтоданные хранятся в общих местах в зависимости от конкретного типа.

На рис.5 показан верхний уровеньсистемного реестра Windows, а втабл.1 перечислены корневые ветви системного реестра, а также приведено ихназначение и взаимосвязь с другими ветвями.


/>

Таблица 1 Корневые разделы системногореестра

№ п/п Раздел (аббревиатуры) Описание HKEY_CLASSES_ROOT (HKCR)

Этот раздел содержит определения типов документов, связей с файлами и интерфейса командного процессора.

В Windows NT/9x этот ключ является составной частью ключа HKLM.

В Windows XP информация о регистрации класса хранится в обоих ключах HKEY_LOCAL_MACHINE и HKCU. При этом ключ HKCR объединяет содержимое указанных ключей в единой папке

HKEY_CURRENT_USER (HKCU) С помощью этого ключа осуществляется доступ к пользовательским конфигурациям, программному обеспечению. Устанавливает связь с ключом HKEY_USERS, который соответствует параметрам настройки текущего пользователя. Для стандартных пользователей, у которых отсутсвуют особые параметры настройки используются параметры настройки пользователя типа .Default. HKEY_LOCAL_MACHINE (HKLM) Хранит аппаратные конфигурации, сетевые протоколы и классы программного обеспечения HKEY_USERS (HKU) Используется для хранения выбранных пользователями глобальных параметров, а также параметров настройки рабочего стола. При этом выбранные пользователями глобальные параметры должны хранится в подключе Software подключа каждого пользователя, содержащегося в ключе HKEY_USERS. HKEY_CURRENT_CONFIG (HKCC) Этот ключ устанавливает связь с ключом отображения, входящим в состав подключа выбранной конфигурации config, содержащегося в ключе HKLM HKEY_DYN_DATA (HKDD) Используется только в Windows 9x. Здесь хранятся динамические данные о состоянии различных устройств, установленных на компьютере пользователя. HKEY_PERFORMANCE_DATA (HKPD) Используется только в Windows 2000. Аналогичен ключу HKEY_DYN_DATA, который используется в Windows 9x.

Рассмотрим соответствующие разделыболее детально.

1.  HKEY_CLASSES_ROOT

Приложение Windows должноиспользовать системный реестр для хранения в разделе HKEY_CLASSES_ROOT данныхследующих классов:

•  Типы документов.Это различные типы документов, которыми манипулирует конкретное приложение.

•  Идентификатор класс. OLE. Это класс OLE, который определяется конкретным приложением. Впроцессе установки данного приложения он должен быть зарегистрирован с помощьюOLE.

•  Имена команд OLE.Это протокол OLE. Каждое имя команды описывает действие, которое можетвыполнить объект. Например, MPLAYER позволяет воспроизводить звуковой файлформата .WAV.

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

•  Пиктограмма,которая показывается для отображения документа. В этом случае должны быть предоставлены двепиктограммы — большая и малая. А использоваться будет та из них, которойпользователь отдаст наибольшее предпочтение.

При рассмотрении этой ветви следует особое внимание обратитьна ключи командногопроцессора, содержащие три следующих подключа:

-          open – содержит команду, используемую дляоткрытия (или запуска) документа;

-          print – содержит команду, котораяотправляет документ на печать;

-          printto – содержит специальный интерфейс,который обеспечивает возможность передачи документа на принтер путемперетаскивания.

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

2.  HKEY_CURRENT_USER

Раздел HKEY_CURRENT_USER содержит множество настроек программногообеспечения, в которых хранится информация о конфигурации рабочего стола иклавиатуры. Кроме того, в этом разделе есть информация о параметрах меню Пуск. Здесь- все настройки, специфичные для пользователя.

Раздел HKEY_CURRENT_USER полностью посвящен настройкам текущегопользователя, т.е. того пользователя, который в настоящий момент зарегистрированв системе. Это отличается от пользовательской конфигурационной информации,которая хранится в других разделах реестра. Информация в этом разделе являетсядинамической; информация в других разделах, которая относится кпользовательским настройкам — статическая. Реестр копирует содержимое одного изподразделов из HKEY_USERS в данный раздел и по окончании работы обновляетраздел HKEY_USERS.

Этот корневой раздел является ссылкой на подраздел HKU\SID, где SID –идентификатор безопасности пользователя, вошедшего в систему, воспользовавшисьдиалоговым окном Вход в Windows(Log On to Windows). Он никогда не связывается с любым подразделовраздела HKEY_USERS, созданных Windows для поддержания вторичного доступа. Необходимо не путать подразделHKU\SID с подразделом HKU\SID_Classes, содержащий соответствия файлов иклассы COM для определённого пользователя.

Ниже приведено краткое описание подразделов корневого разделаHKEY_CURRENT_USER(табл.2).

Таблица 2 Подразделы корневого раздела HKEY_CURRENT_USER

AppEvents Назначает звуковое сопровождение различным событиям, таким как вход в систему, раскрытие меню или закрытие окна. Звуковое сопровождение выбирается пользователями с помощью аплета Звук и мультимедиа (Sound) окна Панель управления. Console Содержит свойства окна консоли, например окна командной строки MS DOS. Пользователи настраивают эти свойства, выбирая команду Свойства (Properties) из контекстного меню окна.

Control

Panel

Содержит параметры, изменяемые пользователями в окне Панель управления (Control Panel). В качестве примера можно привести параметры электропитания, оформления рабочего стола и специальных возможностей. Не все параметры этого подраздела настраиваются в окне Панель управления (Control Panel) и не все параметры окна Панель управления (Control Panel) содержатся в этом подразделе. Environment Содержит переменные среды, настроенные пользователями с помощью аплета Система (System) окна Панель управления (Control Panel). Identities Содержит подразделы для всех удостоверений пользователей, созданных в Microsoft Outlook Express. Удостоверения упрощают совместное использование одного почтового клиента, так как каждому из них могут назначаться отдельные папки для хранения почты, адресная книга и другие настройки. Пользователи могут изменять эти настройки, выбирая команду Удостоверения (Identifies) из меню Файл (File) Microsoft Outlook Express.

Keyboard

Layout

Определяет текущую раскладку клавиатуры. Пользователи изменяют параметры раскладки клавиатуры с помощью аплета Клавиатура (Keyboard) окна Панель управления (Control Panel). Network Содержит подразделы для всех сетевых соединений. Таким образом, здесь присутствуют также и подключённые сетевые диски. Для создания сетевых соединений пользователи выбирают команду Подключить сетевой диск (Map Network Drive) из контекстного меню значка Мой компьютер (My Computer). Printers Здесь содержатся ведения о принтерах, с которыми может работать пользователь. Пользователи настраивают эти параметры с помощью аплета Принтеры (Printers) окна Панель управления (Control Panel). RemoteAccess Определяет параметры удалённого доступа к сети, которые настраиваются пользователями на вкладке Подключение (Connections) диалогового окна Свойства: Интернет (Internet Options), которое открывается в результате щелчка на значке Свойства обозревателя (Internet Options) в окне Панель управления (Control Panel). Software Содержит пользовательские настройки для каждого приложения, включая собственно и Windows. За исключением нескольких приложений от Microsoft, не следующих собственным правилам этой компании, многие приложения сохраняют свои настройки в подразделе Vendor/Application, где Vendor – имя компании-производителя приложения, а Application – имя этого приложения. Эти производители также следуют такому правилу, как добавление дополнительного подраздела Version, что позволяет каждой версии приложения отдельно сохранять собственные настройки.

UNICODE

Program

Groups

Здесь содержатся настройки для групп программ, унаследованные от ранних версий Windows NT, использующих программу Диспетчер программ (Program Manager). При чистой установке Windows XP этот подраздел всегда пустой.

Volatile

Environment

Здесь содержатся переменные среды, используемые в процессе входа в систему.

Windows 3.1

Migration

Status

Здесь представлены сведения о состоянии миграции программных групп и информационных файлов после обновления Windows 3.1. Этот ключ всегда присутствует, но не имеет важного значения, так как компания Microsoft не поддерживает обновление Windows 3.1 до Windows 2000.

3.  HKEY_LOCAL_MACHINE

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

Раздел HKEY_LOCAL_MACHINE — для очень подробной информации обаппаратном обеспечении. Например, он содержит всю информацию, необходимую дляPlug and Play, а также предоставляет полный список драйверов устройств и ихуровни ревизии (revision level) и даже может содержать информацию о ревизиисамого аппаратного обеспечения.

Кроме того в этом разделе имеется некоторая информация опрограммном обеспечении. Например, 32-разрядное приложение будет хранитьтаблицу установок и форматов (Setup and Format Table- STF) именно здесь. Этаинформация используется приложением во время установки. Некоторые приложенияиспользуют ее во время изменений параметров их установки. Такие приложения, какWord, хранят всю информацию о своей установке в таблицах STF. В этом разделесодержится только информация глобального характера.

Ниже перечислены пять основных подразделов ключевого раздела HKEY_LOCAL_MACHINE(табл.3).

Таблица 3 Подразделы корневого раздела HKEY_LOCAL_MACHINE

HARDWARE Здесь содержатся сведения об оборудовании, обнаруженном Windows в компьютере. Помимо описаний процессора и памяти компьютера, этот раздел описывает ресурсы, используемые устройствами, а также связывает устройства с соответствующими драйверами, что объясняется добавлением поддержки Plug-and-Play в Windows. Необходимо обратить внимание на то, что этот подраздел создаётся Windows во время загрузки операционной системы. SAM Здесь содержится локальная база данных системы безопасности SAM (Security Account Manager – администратор учётных данных в системе безопасности). Windows содержит в этой базе данных сведения о локальных пользователях и группах, а Windows 2k Server здесь содержит ещё и сведения о пользователях и группах домена. Разрешения предотвращают просмотр этих данных пользователями, даже обладающими правами администратора. Для управления базой данных системы безопасности нужно воспользоваться аплетом Пользователи и пароли (Users and Passwords) окна Панель управления (Control Panel). Необходимо обратить внимание на то, что подраздел SAM – это ссылка на подраздел HKLM\SECURITY\SAM. SECURITY Содержит локальную базу данных, SAM, а также локальные политики и другие секреты. Windows предотвращает просмотр пользователями содержания этого подраздела. SOFTWARE Содержит настройки компьютера для каждого приложения, включая собственно и Windows. Как и в случае подраздела HKCU\Software, за исключением нескольких приложений от Microsoft, не следующих собственным правилам этой кампании, многие приложения сохраняют свои настройки в подразделе Vendor/Application, где Vendor – имя компании-производителя приложения, а Application – имя этого приложения. Эти производители также следуют такому правилу, как добавление дополнительного подраздела Version. Наиболее интересным, полезным и настраиваемым в подразделе HKLM\SOFTWARE является подраздел Classes. Этот подраздел определяет соответствие файлов и классы COM. Реестр упрощает доступ к этому подразделу, т.к. корневой раздел HKEY_CLASSES_ROOT определяется ссылкой именно на этот подраздел. SYSTEM Содержит наборы управления, описывающие драйверы устройств и службы, которые Windows загружает при запуске. Кроме того, наборы управления определяют все аспекты конфигурации компьютера на уровне операционной системы. Каждый из наборов управления представляет собой подраздел, который называется HKLM\SYSTEM\ControlSetnnn, где nnn – трёхзначное число, начиная с 000. Подраздел CurrentControlSet – это ссылка на текущий набор управления, используемый Windows. Подраздел HKLM\SYSTEM\Select содержит параметр Current, указывающий на то, какой из наборов управления используется Windows в данный момент.

4.  HKEY_USERS

Раздел HKEY_USERS содержит список всех пользователей данногофайла реестра.Необходимости в изменении информации этого раздела никогда не возникает, но егоможно использовать в справочных целях. Причина, по которой нужно следовать этимуказаниям, проста: ни одно изменение не войдет в силу до тех пор, покапользователь не зарегистрируется в системе следующий раз. Кроме того, изменениенастроек для текущего пользователя является пустой тратой времени, потому чтоWindows заменяет все данные в соответствующем разделе данными, которыесодержатся в разделе HKEY_CURRENT_USER, во время завершения сеанса или призавершении работы системы.

Существует еще одна проблема, связанная с использованиемэтого раздела в качестве единственного источника информации. На самом деле Windowsподдерживает несколько копий реестра в многопользовательской среде, в некоторыхслучаях отдельную копию для каждого пользователя. По этой причине никогданельзя быть уверенным, где именно можно найти информацию об определенномпользователе. Windows отслеживает эту информацию; необходимость поиска такойинформации это головная боль для администратора. Сверх того, Microsoftпоставляет утилиту, которая помогает администратору сети поддерживать различныереестры. Редактор системных правил (Policy Editor) позволяет упростить дляадминистратора сети управление пользовательскими настройками, при этом являетсяудобным средством доступа к нужным параметрам системы, которые распределены поразличным разделам реестра.

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

5.  HKEY_CURRENT_CONFIG

Раздел HKEY_CURRENT_CONFIG представляет собой самую простуючасть реестра. Он содержит два главных раздела:

1. Display.

2. System..

По существу эти разделы используются программным интерфейсомGDI API для конфигурации монитора и принтера.

1. Раздел Display имеет два подраздела:

•  Fonts.

•  Setting.

Fonts определяет шрифты, которые Windows использует длявывода на экран. Имеются растровые шрифты (не True Type), которые представляютсобой битовые изображения символов.

Setting содержит текущее разрешение экрана и количество битовна пиксел. Количество битов на пиксел определяет доступное количество цветов. Например,4 бита на пиксел обеспечивают 16 цветов, 8 битов на пиксел обеспечивают 256цветов. Три шрифта, перечисленных в этом разделе, являются шрифтами поумолчанию, которые система использует для отображения значков и меню приложений.Эти настройки можно изменить в диалоговом окне свойств экрана.

2. Раздел System производит впечатление чего-то запутанного. Однако толькоодин подраздел этого раздела имеет смысл для пользователя — Printers. РазделPrinters содержит список принтеров, подсоединенных к системе. Этот список невключает принтеры, которые используются по сети.

6.  HKEY_DYN_DATA(Win9x) или HKEY_PERFORMANCE_DATA(Win2000)

Раздел HKEY_DYN_DATA (HKEY_PERFORMANCE_DATA) содержит два подраздела:

•  ConfigManager

•  PerfStats.

Просмотреть статус ключа Config Manager можно в окне«Свойства: „Система“ на вкладке Устройства (Device Manager),  вызываемогоиз Панели управления. Данные этого раздела изменяются самой операционнойсистемой, так что редактировать что-либо вручную не рекомендуется. При этом вподключе Enum записываются данные о каждомаппаратном компоненте системы.

Значения ключей из раздела PerfStats отображаются винтерфейсе утилиты System Monitor и содержат данные измеренияпроизводительности системы.

Такимобразом, системный реестр — это база данных для хранения сведенийо конфигурации компьютера, настроек операционной системы и параметровпрограмм. Реестр содержит данные, к которым Windows 7, Vista и установленныепрограммы обращаются сотни раз в секунду во время загрузки и работысистемы. Замусоренный и фрагментированный реестр может служить причинойсерьезного замедления работы компьютера.
еще рефераты
Еще работы по информатике, программированию