Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
A_T_C (1).doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
390 Кб
Скачать
☆
  1. Хранение данных реестра

В Windows NT/2000/XP и Windows Server 2003 элементы реестра хранятся в виде атомарной структуры. Реестр подразделяется на составные части, которые разработчики этой операционной системы назвали ульями (hives) по аналогии с ячеистой структурой пчелиного улья. Улей представляет собой дискретную совокупность ключей, вложенных ключей и параметров, берущую начало в вершине иерархии реестра. Отличие ульев от других групп ключей состоит в том, что они являются постоянными компонентами реестра. Ульи не создаются динамически при загрузке операционной системы и не удаляются при ее остановке. Таким образом, ключ HKEY_LOCAL_MACHiNE\Hardware, который строится динамически распознавателем аппаратных средств при запуске операционной системы, ульем не является.

Данные ульев реестра хранятся в файлах, которые находятся в каталогах %SystemRoot%\system32\Config и %SystemRoot'%\Profiles\%Username% (Windows NT 4.0) и %SystemRoot%\system32\Config, и %SystemDrive%\ Documents and Settings\%Username% (Windows 2000, Windows XP и Windows Server 2003).

Каждый улей реестра ассоциирован с набором стандартных файлов.

Некоторые из файлов реестра в Windows XP и Windows Server 2003 больше не используются. Это является следствием усовершенствований, внесенных в их реестр.

Все файлы ульев реестра, за исключением HKEY_CURRENT_USER, находятся в подкаталоге %SystemRoot%\system32\config.

Поддержку улья HKEY_CURRENT_USER выполняют файлы Ntuser.dat и Ntuser.dat.log. В файлах Ntuser.dat хранятся пользовательские профили; файл Ntuser.dat.log отслеживает изменения, которые вносились в файл Ntuser.dat. В Windows NT 4.0 эти файлы располагаются во всех подкаталогах каталога %SystemRoot%\Profiles. В Windows 2000/XP и Windows Server 2003 эти файлы располагаются в каталогах %SystemRoot%\Documents and Settings\ % Username%.

Файлы Ntuser и Userdiff были впервые введены в Windows NT 4.0:

  • файл Ntuser.dat, в котором хранится пользовательский профиль, заменил собой файлы usernamejcet и admiruco: из предыдущих версий Windows NT;

  • файл Ntuser.dat из каталога %SystemRoot%\Profiles\DefaultUser заменил собой файл Userdef из предыдущих версий Windows NT. Этот профиль используется для построения улья HKEY_CURRENT_USER, когда новый пользователь впервые регистрируется в системе;

  • файлы UserdifF, которые находятся только в каталоге %SystemRoot% \system32\config, не ассоциируются ни с одним ульем. Они служат для обновления существующих профилей пользователей, использовавшихся в предыдущих версиях Windows NT, таким образом, чтобы эти профили могли применяться в Windows NT 4.0 и последующих.

  1. Проблема размера реестра

Одним из основных недостатков INI-файлов, использовавшихся для управления конфигурацией системы и приложений до введения реестра, являлась проблема, вызванная ограничением по размеру файла Win.ini, использовавшегося в ранних версиях Windows для хранения параметров настройки всех установленных в системе приложений. Каждое вновь устанавливаемое приложение вносило свои параметры в этот файл, вследствие чего он очень быстро рос. Когда размер файла Win.ini превышал установленное ограничение (не более 64 Кбайт), добавление новых записей в его состав создавало проблему, поскольку все дальнейшие изменения, вносимые в последние разделы этого файла (за пределами инициализационной границы), игнорировались.

Казалось, что с введением концепции реестра эта проблема была решена. Однако реестр, при всей своей прогрессивности, все же остался ограниченным по объему. Поэтому проблема снова начала возникать с появлением приложений, интенсивно использующих реестр. При установке в системе таких приложений значительный объем нерезидентного пула поглощался реестром, оставляя слишком малый объем адресного пространства для других приложений, работающих в режиме ядра. В Windows NT/2000 для решения этой проблемы применяется ограничение по размеру реестра, т. е. существует возможность установить ограничение на размер, до которого может разрастаться реестр.

В отличие от Windows NT/2000, в Windows XP и Windows Server 2003 ограничение по размеру реестра практически снято. Код реестра был переработан таким образом, чтобы переместить реестр из нерезидентного пула и передать управление им диспетчеру кэша. Эта новая реализация позволяет реестру разрастаться до больших размеров, нежели в предыдущих версиях, и фактически ограничивает его размеры только объемом доступного дискового пространства. Таким образом, ни в Windows XP, ни в Windows Server 2003 вы больше не найдете опции, позволяющей задать ограничение по размеру реестра.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]