Хранение данных реестра
В Windows NT/2000/XP элементы реестра хранятся в виде атомарной структуры. Реестр подразделяется на составные части, которые разработчики этой операционной системы назвали ульями. Улей представляет собой дискретную совокупность ключей, вложенных ключей и параметров, берущую начало в вершине иерархии реестра. Отличие ульев от других групп ключей состоит в том, что они являются постоянными компонентами реестра. Ульи не создаются динамически при загрузке операционной системы и не удаляются при ее остановке. Таким образом, ключ HKEY_LOCAL_MACHINE\HARDWARE, который строится динамически распознавателем аппаратных средств при запуске системы, ульем не является.
Примечание
Так же, как в Windows 2000, реестр Windows XP размещается на диске в виде набора файлов, именуемых ульями, которые служат хранилищем данных о конфигурации системы. В Windows XP программный код реестра переработан для обеспечения более высокой производительности. Это не повлияло на приложения, поскольку в данной ситуации используются существующие программные интерфейсы программирования (API). Усовершенствования реестра Windows XP направлены главным образом на повышение производительности.
Данные ульев реестра хранятся в файлах, которые размещаются в каталогах System32\Conug и Documents and Settmgs\Usemame.
Каждый улей реестра Windows XP ассоциирован с набором стандартных файлов. В табл. 1.3 перечислены стандартные ульи реестра Windows XP и поддерживающие их файлы.
Таблица 1.3. Стандартные файлы, обеспечивающие поддержку ульев реестра Windows XP
Улей реестра |
Файлы поддержки |
HKEY_LOCAL_MACHINE\SAM |
Sam, Sam. log, Sam.sav |
HKEY_LOCAL_MACHINE\Security |
Security, Security.log, Security.sav |
HKEY_LOCAL_MACHINEXSoftware |
Software, Software.log, Software. sav |
HKEY_LOCAL_MACHINE\System |
System, System. alt* , System.log, System. sav |
HKEY_CURRENT_CONFIG |
System, System. alt* , System.log, System. sav |
HKEY_USERS\.DEFAULT |
Default, Default.log, Default. sav |
Файлы, не ассоциированные ни с одним ключом |
Userdiff, Userdiff.log, Userdifr**, Userdifr.log** |
HKEY_CURRENT_ USER |
Ntuser.dat, Ntuser.dat.log |
*Файлы, которые были ликвидированы в Windows XP.
** Файлы, которые впервые появились в Windows XP.
Примечание
Как видно из табл. 1.3, в Windows XP некоторые файлы реестра были ликвидированы, при этом впервые появились другие файлы. Это было сделано с целью ряда усовершенствований реестра в Windows XP
Все файлы ульев реестра, за исключением HKEY_CURRENT_USER, находятся в подкаталоге System32\Config.
Поддержку улья HKEY_CURRENT_USER выполняют файлы Ntuser.dat и Ntuser.dat.log. В файлах Ntuser.dat хранятся пользовательские профили; файл Ntuser.dat.log отслеживает изменения, которые вносились в файл Ntuser.dat, упомянутые файлы находятся в каталогах % System Drive% \Documents and Settings\%Username%.
Файл Ntuser.dat из каталога %SystemRoot%\Pmfies\Defau\l User заменил собой файл Userdef из предыдущих версий Windows NT. Этот профиль используется для построения улья HKEY_CURRENT_USER, когда новый пользователь впервые регистрируется в системе.
Файлы Userdiff, которые находятся только в каталоге %SystemRoot% \System32\Config, не ассоциируются ни с одним ульем. Они служат для обновления существующих пользовательских профилей предыдущих версиий Windows таким образом, чтобы эти профили могли использоваться в Windows XP.
С ульями ассоциируются файлы четырех типов. Все эти типы файлов (с соответствующими расширениями имен файлов) перечислены в табл. 1.4.
Таблица 1.4. Типы файлов, ассоциированных с ульями реестра Windows XP
Тип файла |
Описание |
Без расширения имени файла ALT* |
Содержит копию улья Содержит резервную копию жизненно важного улья HKEY_ LOCAL_ MACHINE\System. Только Ключ \System имеет соответствующий файл с расширением ALT. Как уже упоминалось, в Windows XP ALT-файлы ликвидированы, поскольку программный код реестра был переработан для реализации более совершенных алгоритмов, увеличивающих быстродействие при выполнении запросов, а также для повышения надежности и увеличения объема реестра |
LOG |
Содержит журнал транзакций, в котором регистрируются все изменения, внесенные в ключи и значимые элементы улья |
SAV |
Содержит копии файлов улья в том виде, который они имели на момент завершения текстовой фазы процесса установки. Файлы с расширением SAV имеются для ключей \Software, \Systera, \SAM, \Security и \Default |
SAV |
Windows NT/2000/XP выполняет резервное копирование содержимого ульев в процессе инсталляции. Процедура инсталляции состоит из двух стадий: стадии текстового режима и стадии графического режима. Когда установка в текстовом режиме завершается, выполняется копирование ульев в файлы с расширением SAV. Это делается для того, чтобы защитить ульи от ошибок, которые могут произойти в случае сбоя на графической стадии установки. Если процедура установки даст сбой на графической стадии, то после перезагрузки компьютера будет производиться повтор только графической стадии установки. SAV-файлы используются для перестройки ульев реестра |
*Файлы, которые были исключены из Windows XP.
