стала использовать нулевое кольцо защиты процессоров Intel. Программы, выполняемые в нулевом кольце, могут все. Они работают с аппаратурой напрямую, ничто в системе от них не укроется, и ни одно постороннее приложение не помешает выполнению кода с «нулевым допуском». Сервисом нулевого уровня защиты процессора 80386 пользуются файловая система защищенного режима, диспетчер виртуальных машин и аппаратно-ориентированные драйверы, в том числе написанные независимыми разработчиками и производителями аппаратного обеспечения. Разумеется, компоненты ОС, предназначенные для работы в нулевом кольце, должны быть тщательно проверены и отлажены – ошибка в таком драйвере может запросто вызвать крах системы.

Приложения и многие части ОС выполняются только в третьем кольце процессора 80386, а значит, не имеют таких прав, как программы нулевого уровня, и не могут напрямую работать с устройствами компьютера – им приходится обращаться к драйверам устройств, выполняющимся в нулевом кольце. Зато они относительно безопасны для системы в целом.

Реестр Windows NT

Windows NT была первой операционной системой Microsoft, которая хранила всю информацию о настройке системы и программ не в текстовых файлах (config.sys, autoexec.bat и файлы с расширением ini), а в реестре (registry), что имеет следующие преимущества:

• данные не разбросаны по различным файлам, а логически собраны в одной базе;

• информация в реестре имеет не плоскую, типа параметр = значение, а древообразную структуру, благодаря чему каждый параметр может иметь множество подзначений разного типа;

• возможен доступ к реестру локального компьютера по сети для диагностики и администрирования.

Реестр – это «древообразная» иерархическая база данных. Пять разделов реестра Windows NT/2000 – HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS и HKEY_CURRENT_CONFIG (в реестре Windows 95/98/ME имеется также шестой раздел – HKEY_DYN_DATA), в свою очередь, ветвятся на множество подразделов и т. д. Например, данные, описывающие параметры работы программы Windows Me System Agent, хранятся в разделе HKEY_LOCAL_MACHINE\ Software\Microsoft\Plus!\System Agent:

• HKEY_LOCAL_MACHINE – информация о компьютере: оборудование, параметры программ;

• HKEY_CURRENT_CONFIG – текущая конфигурация устройств;

• HKEY_CLASSES_ROOT – информация по OLE, межпрограммным связям, данные о ярлыках, параметры рабочего стола и т. п.; это практически та же информация, которая в Windows 3.x хранилась в файле reg.dat;

• HKEY_USERS – информация обо всех пользователях компьютера;

• HKEY_CURRENT_USER – информация о параметрах текущего пользователя: внешний вид рабочего стола, используемая звуковая схема и т. п.

Данные реестра хранятся в виде переменных, которые имеют имена и бывают трех типов: строчные (например, «vgaoem.fon», «Microsoft Network», «Kamill Akhmetov»), двоичные (например, 00 00 00 00 0e 00 00 00) и формата «двойное слово» (например, 0x00000001). Так, переменная, от которой зависит, будет ли на панели задач отображаться значок программы System Agent, называется EnableTrayIcon, имеет формат «двойное слово» и для отображения значка должна быть равна 0x00000001.

Для редактирования реестра в комплект поставки Windows входит программа Registry Editor.

Первое поколение «новых технологий»

Первая версия Windows NT вышла осенью 1993 года, сразу с номером 3.1 – таким же, как у параллельной версии Windows. Основными особенностями Windows NT стали переносимость между аппаратными платформами, поддержка многопроцессорных систем, полная 32-разрядность, «истинная» (вытесняющая) многозадачность, полная интеграция сетевых компонентов и средств администрирования с графической рабочей средой, выполнение программ разных ОС, защита по уровню C2 и поддержка Unicode. Усовершенствованная версия Windows NT 1994 года получила номер 3.5, а версия 1995 года – 3.51.