Назначение реестра
Реестр пришел на смену конфигурационным файлам (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 создается стандартный аппаратный профиль, который содержит информацию обо всех аппаратных средствах, обнаруженных на компьютере на момент инсталляции.