Что такое системный реестр Windows?
01 февраля 2010 (обновлено 2 года назад), Chemtable Software
Официальное издание компании Microsoft – Microsoft Computer Dictionary – определяет системный реестр Windows (Windows Registry, регистр Windows) как иерархическую централизованную базу данных, используемую в операционных системах Microsoft, начиная с версии Microsoft Windows 98, и предназначенную для хранения сведений, необходимых для настройки операционной системы, для работы с пользователями, программами и устройствами.
Таким образом, системный реестр Windows – прежде всего основа операционной системы, огромная база данных настроек, хранящихся в папках %SystemRoot%\System32\Config и папке пользовательских профилей (Ntuser.dat). Без него операционная система была бы просто набором программ, неспособных выполнить даже простейшие функции ОС. Все, включая любые детали конфигурационных данных, размещено в системном реестре. Все хранящиеся в реестре данные представлены в стандартизированной форме и четко структурированы согласно предложенной разработчиками Windows иерархии. Информация в системном реестре хранится в бинарном, то есть в двоичном представлении, что позволяет не только помещать туда значительно больший объем различных данных, но и существенно увеличить скорость работы с ним.
В системном реестре хранятся данные, которые необходимы для правильного функционирования Windows. К ним относятся профили всех пользователей, сведения об установленном программном обеспечении и типах документов, которые могут быть созданы каждой программой, информация о свойствах папок и значках приложений, а также установленном оборудовании и используемых портах. К этим данным операционная система постоянно обращается во время загрузки, работы и ее завершения. Многие программы хранят не только данные о своих настройках в реестре, но и данные об их регистрации, особенно это касается пробных («триальных») версий, которые истечение пробного срока проверяют через системный реестр Windows.
В случае установки или удаления каких бы то ни было устройств, приложений, данных о пользователях или системных компонентов информация о подобных изменениях записывается в реестр и считывается оттуда в ходе каждой загрузки операционной системы. Неудивительно, что со временем размер системного реестра постоянно увеличивается, что отрицательно сказывается и на времени доступа к нему. При удалении многие программы оставляют за собой недействительные более ключи, неверные ссылки, а это приводит к тому, что в реестре Windows появляется огромное количество мусора, также отрицательно сказывающегося на времени доступа.
Изучение работы операционной системы дало информацию, что во время запуска системы происходит до тысячи обращений к системному реестру, а во время работы на ПК в течение одного сеанса работы – до 10 тысяч. Из этого можно сделать вывод: от того, какие именно параметры указаны в реестре, во многом зависят возможности операционной системы, ее быстродействие и алгоритм работы всего компьютера в целом.
Сказанное выше приводит и к следующему выводу: некорректное изменение хранящейся в системном реестре информации вполне способно нарушить работоспособность Windows. Достаточно допустить ошибку в записи значения какого-либо ключа или параметра, и пользователь больше не сможет загрузить компьютер. Именно по этой причине разработчики ОС заметно ограничили доступ к реестру Windows, и редактировать его параметры, касающиеся безопасности, могут только пользователи ОС, имеющие в системе учетную запись администратора.
Теперь о том, в каком виде хранится реестр в операционной системе. Его версии для разных операционных систем семейства Windows имеют определенные различия. Например, в Windows 98 файлы системного реестра называются User.dat и System.dat. В Windows Millennium Edition — Classes.dat, User.dat и System.dat.
Реестр Windows XP и более старших версий устроен несколько сложнее. Хотя в программах просмотра реестра он представляется нам в виде единой базы данных, но на физическом уровне реестр неоднороден и состоит из множества файлов, каждый из которых отвечает за собственный объем представленной в этой базе информации.
Некоторые из отображаемых в системном реестре сведений никогда не сохраняются на диске в виде физических файлов, а помещаются в память компьютера в процессе его загрузки и утрачиваются в момент отключения питания. Такие разделы реестра получили название энергозависимых (volatile). В частности, к энергозависимым разделам реестра Windows относятся данные, в которых аккумулируются сведения о подключенном в системе оборудовании и назначенных различным устройствам ресурсах: запросах на прерывание (IRQ), каналах прямого доступа к памяти (DMA) и диапазонах ввода/вывода (I/O Range). Поскольку опрос, инициализация устройств и динамическое распределение ресурсов производятся именно в ходе загрузки Windows, все эти сведения хранятся непосредственно в памяти компьютера: при следующем запуске машины состав оборудования может оказаться уже другим.
Прочие компоненты реестра Windows, хранящие данные о конфигурации операционной системы, ее настройках и параметрах, содержатся в системной папке %systemroot%\System32\Config. Файлы, включающие сведения о профилях пользователей Windows XP, хранятся в папке %systemroot%\Profiles. И наконец, все данные, относящиеся к каким-либо конкретным настройкам системы для каждого пользователя, а также данные об их персональной конфигурации рабочей среды представлены в папках %Drive%\Documents and Settings\%UserName%, где %Drive% — имя дискового раздела, на котором установлена Windows XP, а %UserName% — папка, имя которой соответствует имени одного из зарегистрированных в системе пользователей. Дополнительные сведения о локальных пользователях Windows по умолчанию содержатся в папке %Drive%\Documents and Settings\LocalService, а данные о настройках системы для удаленных пользователей — в папке %Drive%\Documents and Settings\NetworkService.
С появлением 64-х разрядных операционных систем появились различия и в их системных реестрах – реестры 64-разрядных версий Windows XP, Windows Server 2003 и Windows Vista подразделяется на 32- и 64-разрядные разделы. При этом большинство 32-разрядных разделов имеют те же имена, что и их аналоги в 64-разрядном разделе, и наоборот.