Краткая история реестра Windows

До создания Реестра Microsoft использовала обычные текстовые файлы для управления системой. В MS-DOS конфигурация системы контролировалась двумя следующими файлами:

• Config.sys содержал конфигурационную информацию, необходимую для функ­ционирования MS-DOS. В основном, это были общие параметры оборудования, используемого различными приложениями, например работа верхней и нижней памяти.

• Autoexec.bat был пакетным файлом, служившим для выполнения процедур ав­тозагрузки.

В большинстве своем, приложения MS-DOS самостоятельно регулировали все свои параметры и совместное с другими приложениями использование таких устройств, как принтер и звуковая карта. Параметры хранились в текстовых файлах, называемых файлами инициализации (.INI).

Поначалу Windows запускалась в виде приложения MS-DOS и предоставляла простой графический интерфейс для ввода команд DOS. Ситуация немного изменилась с выходом Windows 3.0. В этой версии Windows впервые была создана общесистемная база данных конфигурации, которой могли пользоваться все приложения, вместо того чтобы создавать собственные базы. В Windows 3.0 данная база состояла из четырех .INI-файлов, содержащих информацию о конфигурации, оборудовании, драйверах устройств и параметрах приложений. Эти .INI-файлы загружались после двух файлов конфигурации MS-DOS и имели следующие названия:

• Program.ini - содержал параметры Менеджера программ Windows (Windows Program Manager), обеспечивающего графический интерфейс пользователя (graphical user interface - GUI), для работы в Windows.

• Control.ini - содержал множество пользовательских настроек Windows, включая параметры рабочего стола, звука и принтера.

• Win.ini -этот файл содержал информацию о визуальном оформлении Windows и параметры установленных приложений.

• System.ini - содержал параметры конфигурации оборудования и определял, как Windows будет с ним взаимодействовать.

Теоретически все приложения должны были брать информацию о параметрах исполь­зуемых ресурсов именно из этих четырех файлов. Все свои параметры приложения должны были хранить в файле win.ini. Кроме этого, приложениям разрешалось создавать свои собственные .INI-файлы для хранения специфических настроек. У этой системы был ряд недостатков. Так как .INI-файлы являются текстовыми, их легко редактировать. Пользова­тель с легкостью мог изменить параметры приложения, что иногда приводило к ошибкам в системе. Другой проблемой .INI-файлов было то, что их размер ограничивался 64 кб.

Windows 3.1 стала первой версией Windows, использовавшей Реестр (Registry) и ре­шившей множество проблем, возникающих при использовании .INI-файлов. Главным стало то, что теперь вся конфигурационная информация системы хранилась в одном месте в легко читабельной иерархической базе данных. И все же некоторые проблемы остались неразре­шенными. Файл Реестра Windows 3.1 был все еще ограничен 64 кб. Другой существенной проблемой являлась неспособность Реестра синхронизировать свое содержание с состояни­ем приложений, шрифтов, драйверов и других объектов системы. Возможно, поэтому боль­шинство программистов им вообще не пользовались, продолжая полагаться на .INI-файлы.

С появлением Windows NT на свет появился совершенно новый Реестр. 64 кб огра­ничение было снято, и теперь Реестр мог занимать столько места, сколько ему было необ­ходимо. Один файл был заменен несколькими, но при этом сохранилась единая иерархи­ческая структура, объединяющая вместе все записи. Microsoft, в свою очередь, начала активно призывать программистов использовать Реестр вместо .INI-файлов.

С момента появления Windows NT Реестр практически не изменился. Конечно, Реестры Windows 95/98/Ме, Windows NT/2000 и ХР содержат различные записи, но их структура одинакова.