Реестр хранится на диске в пяти отдельных файлах-кустах, каждый из которых содержит определенный тип конфигурационной информации (т.е. пользовательские данные и установки, связанные с компьютером). Название каждого корневого раздела начинается с HKEY_, и каждый корневой раздел содержит несколько подразделов. Нужные кусты загружаются в память при запуске операционной системы, а также при входе в нее нового пользователя, после чего объединяются в реестр.
Предупреждение. Неумелое редактирование реестра может привести к необходимости переустановки операционной системы!!
Реестр имеет иерархическую древовидную структуру (рис. 2.1). На ее верхнем уровне располагаются так называемые ветви (subtrees), основными из которых являются:
- HKEY_LOCAL_MACHINE;
- HKEY_USERS.
Остальные ветви представляют собой их подразделы и служат для более быстрого доступа к ним:
- HKEY_CLASSES_ROOT;
- HKEY_GURRENT_CONFIG;
- HKEY_CURRENT_USER.
Рис. 2.1. Редактор реестра
Реестр формируется в памяти компьютера при запуске Windows 2000/XP на основе нескольких файлов из папки \Windows\System32\Config. Разделы реестра, которым соответствуют эти файлы, называются кустами (hives). Основные кусты реестра находятся в ветви HKEY_LOCAL MACHINE и называются SAM, SECURITY, S0FTWARE и SYSTEM. Раздел SAM – база данных диспетчера учетных записей, a SECURITY хранит информацию, используемую LSA. В кусте SOFTWARE хранятся настройки программного обеспечения, а в SYSTEM – конфигурационная информация (параметры драйверов и служб), необходимая для загрузки 2000/XP.
|
|
Раздел HARDWARE ветви HKEY_LOCAL MACHINE не является кустом, поскольку его информация не сохраняется в файлах, а формируется заново при каждом запуске операционной системы (ОС).
Целостность данных реестра в процессе их модификации обеспечивает механизм, основанный на применении журналов транзакций. Любое изменение, вносимое в реестр, вначале фиксируется в журнале (для этого у каждого из кустов существует свой отдельный файл с расширением LOG) и только затем переносится в файл соответствующего куста. Такой механизм позволяет предотвратить повреждение информации, если в момент ее модификации происходит аппаратный сбой. При следующем запуске ОС на основе анализа журналов транзакций определяется, какие изменения на момент сбоя были завершены, а какие – нет. Первые записываются в файл, соответствующий нужному кусту реестра, вторые – просто удаляются из журнала.
Кроме ветви HKEY_LOCAL_MACHINE, в которой находится информация, относящаяся ко всему компьютеру с Windows 2000/XP в целом, в реестре есть ветвь HKEY USERS, где хранятся профили пользователей.