Назначение реестра
Реестр пришел на смену конфигурационным файлам (INI-файлам) и призван был снять неудобства и ограничения,
связанные с их использованием. В виде, более или менее напоминающем его нынешнюю структуру,
реестр появился в Windows NT 3.5 (тогда он имел 4 корневых раздела: HKEY_ LOCAL_MACHINE,
HKEY_CURRENT_USER, HKEY_CLASSES_ROOT и HKEY_USERS).
Новый компонент операционной системы был предназначен для того, чтобы заменить собой многочисленные
инициализационные и установочные файлы, разбросанные по" различным каталогам на жестком диске и
сетевом сервере. Эти файлы требовались для обеспечения корректной работы операционной системы,
приложений и аппаратных устройств, но управление ими было задачей сложной, трудоемкой и неудобной.
Реестр как централизованная база данных представляет собой источник конфигурационной информации,
где все параметры сведены воедино, что обеспечивает возможность эффективного управления средой Windows NT/2000.
Перечисление компонентов системы Windows NT/2000, использующих реестр, и краткое описание их взаимодействия с
этой базой данных приведено ниже:
Программы установки (Setup).
Каждый раз при запуске программы установки Windows 2000 или других установочных программ
(для аппаратных и программных средств) программа. Setup добавляет в реестр новые конфигурационные данные.
Начиная свою работу, все грамотно разработанные программы установки считывают информацию реестра,
чтобы определить, присутствуют ли в системе компоненты, обязательные для успешного завершения установки.
Наконец, централизованный реестр позволяет приложениям совместно использовать конфигурационную информацию
и предоставляет им больше возможностей взаимодействия между собой. Чтобы приложение могло получить
статус "Designed for Windows 2000", оно должно активно и правильно использовать реестр,
а также содержать утилиту, позволяющую корректно выполнить удаление этого приложения (uninstall utility),
не удаляя компонентов, которые могут использоваться другими программами (.DLL, .OCX, и т. д.).
Эта утилита использует информацию, хранящуюся в реестре.
Распознаватель (Recognizer). Каждый раз при запуске компьютера под управлением Windows NT/2000 распознаватель
аппаратных средств (Hardware Recognizer) помещает в реестр список обнаруженных им устройств.
На компьютерах с процессорами Intel распознавание аппаратных средств осуществляется программой Ntdetect.com и
ядром Windows NT/2000 (Ntoskrnl.exe).
Ядро Windows NT/2000 (Windows NT/2000 Kernel).
При старте системы ядро Windows NT/2000 извлекает из реестра сведения о загружаемых драйверах устройств и
порядке их загрузки. Кроме того, программа Ntoskrnl.exe передает в реестр информацию о себе (примером
такой информации может служить, например, номер версии).
Драйверы устройств. Драйверы устройств обмениваются с реестром параметрами загрузки и конфигурационными данными.
Эти данные аналогичны строкам device=, которые можно найти в файле Config.sys для запуска компьютера под
управлением MS-DOS. Драйвер устройства должен сообщить об используемых им системных ресурсах, включая
аппаратные прерывания и каналы DMA, чтобы система могла включить эти данные в реестр.
Приложения и драйверы устройств могут считывать эту информацию реестра, предоставляя пользователям
интеллектуальные программы инсталляции и конфигурирования.
Административные средства Windows 2000. Административные средства Windows 2000, в том числе утилиты панели
управления и оснастки, собранные в группу Администрирование (Administrative Tools), представляют собой
наиболее удобные и безопасные средства модификации реестра. Редакторы реестра, рассмотрению которых посвящен
отдельный раздел данной главы, также полезны для его просмотра и, время от времени,
для внесения изменений в конфигурацию системы.
Пользовательские профили (user profiles). Windows NT/2000 обеспечивает возможность создания множества
пользовательских профилей. Вся информация, относящаяся к конкретному пользовательскому имени и ассоциированным
с ним правам, хранится в реестре. Более подробная информация о пользовательских профилях будет приведена далее
в этой главе, здесь же отметим, что пользовательский, профиль определяет индивидуальные параметры настройки
дисплея, параметры сетевых соединений, принтеры и многое другое. Пользовательские профили бывают
следующих типов: локальные (local user profile), создаваемые автоматически при первой регистрации пользователя
на локальном компьютере, перемещаемые (roaming user profile), создаваемые администратором и хранящиеся на
сервере, и обязательные (mandatory user profile)'— перемещаемые профили, обязательные для применения.
Информация о пользовательских профилях также хранится в реестре.
Аппаратные профили (hardware profiles). Реестр, в отличие от INI-файлов, позволяет хранить множественные
аппаратные конфигурации. Так, например, можно создать профили для док-станций (что актуально для пользователей
портативных компьютеров), а также профили для съемных устройств. Аппаратный профиль представляет собой набор
инструкций, с помощью которого можно указать операционной системе, драйверы каких устройств должны загружаться
при запуске компьютера. В процессе установки Windows 2000 создается стандартный аппаратный профиль,
который содержит информацию обо всех аппаратных средствах, обнаруженных на компьютере на момент инсталляции.