Windows XP для бывалого бойца
Шрифт:
Windows 3.1, как и 3.0, была 16-разрядной системой, но предлагала только два режима работы: стандартный и 386-й расширенный. Теперь с Windows уже нельзя было работать на машине класса XT, но 286-е компьютеры остались «дееспособными». В целом Windows стала стабильнее и удобнее, производительность системы повысилась. Все это привело к тому, что с середины 92-го развитие Windows-рынка фактически относилось уже к Windows 3.1 и все больше приложений производилось именно для Windows 3.1, а не для предыдущей версии.
Отметим также Windows for Workgroups 3.1 (1992 г.), которая была уже не только «настольной» ОС, но и самостоятельной
Как мы увидим, дальнейшее развитие микропроцессоров Intel и естественное отмирание систем на базе более ранних микропроцессоров, чем Intel 80386, сделало возможным отказ от всех режимов работы ОС, кроме 386-го расширенного… А пока вернемся к проекту New Technology (NT).
Windows NT
В начале 90-х годов появилась информация о том, что Microsoft, в сущности, не меняла своих планов. Оказалось, что запланированная к выпуску в 1992 году система OS/2 3.0 – это и есть NT.
Но существенно раньше, летом 1988 года, то есть именно тогда, когда полным ходом шел проект совместной разработки OS/2 фирмами Microsoft и IBM, а Билл Гейтс при каждом удобном случае во всеуслышание именовал OS/2 «лучшей ОС», тот же Билл Гейтс позвонил человеку по имени Дэвид Катлер.
Дэйв Катлер работал в фирме Digital Equipment Corporation (DEC) и был известен тем, что создал ряд операционных систем фирмы DEC и руководил разработками VAX/VMS. Но летом 1988 года Билл Гейтс предложил Дэйву Катлеру обсудить идею создания новой операционной системы Microsoft для персональных компьютеров!
«В то время меня не очень интересовала работа с персональными компьютерами, но я подумал, что это хорошая возможность встретиться с Биллом и обсудить его идеи, – написал Катлер впоследствии. – То, что предлагал Билл, сводилось к созданию новой ОС – переносимой и отвечающей требованиям, которые предъявляются к ПК при выполнении критически важных задач. Для меня это был шанс создать еще одну операционную систему!» В октябре 1988 года Катлер перешел в Microsoft.
Оригинальная спецификация нового проекта, датированная 1989 годом, гласила: «Система NT OS/2 представляет собой переносимую реализацию OS/2, разработанную на языке высокого уровня. Начальная версия NT OS/2 предназначена для работы на Intel 86-совместимом оборудовании, включая как персональные компьютеры, так и серверы…». Операционная система, разработанная под руководством Дэвида Катлера, получила наименование Windows NT.
Уровни защиты процессоров Intel 80386
Intel 80386-совместимые процессоры поддерживают четыре уровня, или кольца, привилегированности, обеспечивающих различные степени защиты и привилегий исполняемых программ. В каждый момент времени процессор может работать только на одном уровне привилегий.
При любой передаче управления с одного уровня на другой процессор выполняет десятки операций. Например, смена уровня привилегий на 486-м процессоре занимает 69 тактов. Но современной ОС разные уровни привилегий необходимы, чтобы обеспечить защиту жизненно важных участков кода системы.
Для выполнения кода системного уровня Windows NT[7] стала использовать нулевое кольцо защиты процессоров 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.