11. Архитектура Windows XP
11. Архитектура Windows XP
Изучение новой операционной системы обычно включает в себя последовательный анализ компонентов ее архитектуры. Но к этому вопросу можно подойти и с другой стороны. Когда речь заходит о квалифицированном автомеханике, ожидается, что он неплохо разбирается в двигателях, электрической системе автомобиля и компьютерах, управляющих им. Автомеханик может не иметь полного представления обо всех компонентах машины, однако он вполне способен починить ее, имеет для этого необходимые инструменты и располагает соответствующей технической литературой.
В каком-то смысле все пользователи являются «мастерами на все руки» для собственных компьютеров. При этом они должны быть знакомы с основными аппаратными и программными компонентами компьютера, в частности с операционной системой. Никто не ожидает от пользователя демонстрации всесторонних знаний, однако он должен правильно распознавать возникающие проблемы и находить ответы на стоящие перед ним вопросы.
Не забывая о вышесказанном, перейдем теперь к обсуждению вопросов, непосредственно связанных с архитектурой Windows XP и ее компонентами. В данном случае я буду ориентироваться на версию Windows XP Professional Edition, однако практически все приводящиеся ниже материалы в равной степени можно отнести и к версии Windows XP Home Edition. Основное различие архитектур для версий Professional Edition и Home Edition связано с подсистемой обеспечения безопасности и поддержкой файловой системы NTFS. В то же время ядро операционной системы остается одним и тем же для обеих версий.
В следующих разделах я не буду останавливаться на нюансах. На самом деле этот рассказ правильнее было бы рассматривать как беглый обзор архитектуры ядра Windows XP. Тем не менее в процессе обсуждения вы получите представление и об архитектуре этой ОС. Такие знания позволят вам вполне осознанно конфигурировать операционную систему и эффективно ее использовать. Другими словами, после ознакомления с материалами данной главы ваша квалификация как механика заметно возрастет.
Беглое знакомство с внутренней структурой
Windows XP – достаточно сложная операционная система. Однако на практике каждая очередная версия Windows оказывалась несколько сложнее предшествующей за счет добавления новых утилит, функций и программных приложений.
Ниже в общих чертах обсуждается архитектура Windows XP. Эти разделы являются своего рода вводными и содержат сведения об основных компонентах архитектуры операционной системы, которые позволят вам лучше понять материалы других разделов данной книги.
Архитектура
Специалисты Microsoft построили Windows XP на основе Windows 2000, поэтому те, кто будет искать знакомые им файлы операционной системы Windows 9х, рискуют их просто не найти. Вы не обнаружите и непосредственной связи между Windows XP и Windows 2000. Напомню, что Windows 2000 предусматривает создание практически неизменной рабочей среды, что затрудняет исполнение многих программных приложений, например связанных с компьютерными играми и обучающими программами. Однако, если вы знакомы с особенностями архитектуры Windows 2000, вы без труда разберетесь и в архитектуре Windows XP.
Перед рассмотрением архитектуры Windows XP следует еще раз напомнить принципы ее организации. Первый принцип связан с работой процессоров фирмы Intel. Обеспечение безопасности и защита информации в наши дни являются одним из основных принципов построения операционных систем. Важно сохранять подготовленные приложения и данные неизменными, чтобы имелась возможность их быстрого применения. Процессоры фирмы Intel обычно обеспечивают четыре уровня защиты, однако Windows XP использует только два из них. Так, программные приложения исполняются в базовом режиме – режиме ядра (Kernel Mode), который соответствует наивысшему уровню защиты. Пользовательские приложения и другие объекты данных функционируют в пользовательском режиме (User Mode), который характеризуется самым низким уровнем защиты. При этом пользовательские данные всегда остаются за определенной чертой, а базовые программные приложения находятся внутри некоего четко очерченного круга.
Второй принцип, который следует хорошо усвоить в отношении Windows XP, заключается в применении взаимосвязанных программных приложений. Так, пользователь не может указать на отдельный файл системного каталога SYSTEM32 и сказать, что он содержит данные Windows XP. Различные файлы этого каталога поддерживают различные совокупности функций, однако более подробные сведения по данному вопросу могут увести далеко от обсуждаемой здесь темы. Таким образом, Windows XP опирается на использование множества файлов. Подобный подход позволяет другим поставщикам встраивать свои функции в операционную систему, расширяя ее функциональные возможности. Большая часть разработчиков рассматривает Windows XP в качестве модульной ОС, поскольку она состоит из множества программных модулей – приложений (равно как и операционная система Windows 2000).
Так как система носит модульный характер, она имеет ряд однотипных файлов с Windows 2000, причем файлы Windows XP, как правило, являются усовершенствованными вариантами файлов Windows 2000. Специалистам Microsoft не пришлось изменять все разделы Windows 2000, чтобы реализовать цели, поставленные при создании Windows XP. Именно по этой причине те пользователи, которые хорошо знакомы с архитектурой Windows 2000, без труда разберутся и в архитектуре Windows XP.
Архитектуру Windows XP условно можно разделить на четыре части:
• ядро операционной системы. Ядро представлено шестью файлами, которые будут подробно рассмотрены в последующих разделах данной главы: GDI.EXE, GDI32.DLL, KRNL386.EXE, KERNEL32.DLL, USER.EXE, USER32.DLL. Файлы ядра содержат только часть операционной системы и обеспечивают связность всех объектов данных. Каждый прочий объект или раздел Windows XP обращается к ним для целей обслуживания. Все эти файлы обычно располагаются в системной папке SYSTEM32;
• драйверы. Windows XP использует драйверы для доступа к аппаратным средствам системы. Драйверы являются удобным средством для обеспечения доступа к устройствам в условиях многозадачной среды, в которой одно и то же устройство может одновременно обслуживать несколько приложений. Каждому устройству в программе Диспетчер устройств (Device Manager) соответствует один или несколько связанных с ним драйверов. Для более близкого знакомства с драйверами конкретных устройств нажмите кнопку Сведения (Driver Details) вкладки Драйвер (Driver) диалогового окна свойств устройства (Device Properties). Диалоговое окно Сведения о файлах драйверов (Driver File Details), показанное на рис. 11.1, информирует о поставщиках драйверов, версии файлов, цифровой подписи и соответствующих авторских правах;
Рисунок 11.1. Каждое устройство предусматривает для обеспечения эффективной работы применение одного или нескольких драйверов
• службы. Службы представляют собой так называемые фоновые приложения, которые позволяют улучшить функциональные возможности операционной системы. Например, служба индексирования (Indexing Service) создает поисковые индексы для жесткого диска в те моменты времени, когда этот диск не используется для других целей. Служба ИБП (UPS – Uninterruptible Power Supply – источник бесперебойного питания), показанная на рис. 11.2, контролирует состояние установленного в системе ИБП. Служба ИБП может взаимодействовать с пользователем, однако обычно работает в фоновом режиме и практически незаметна. Познакомиться с полным перечнем служб операционной системы легко с помощью консоли Службы (Services), присутствующей в папке Администрирование (Administrative Tools). Вкладка Общие (General) диалогового окна свойств службы (Service Properties) обычно содержит поле Расположение каталога (Path to executable service), запись которого проинформирует вас о том приложении, которое связано со службой;
Рисунок 11.2. Каждая служба содержит главный исполняемый файл, однако некоторые службы требуют также использования нескольких библиотечных файлов DLL
• утилиты. Операционная система нуждается в методах интерактивного взаимодействия с пользователем. Утилиты являются по существу, единственными программами операционной системы, применяемыми в пользовательском режиме. Некоторые утилиты, например программа PING (Packet Internet Groper – программа для проверки связи с удаленными компьютерами), исполняются при появлении соответствующего командного запроса. Специалисты Microsoft создали подобные программы для сетевых администраторов, причем они функционируют на самом низком уровне защиты. Другие утилиты, например консоль управления ММС (Microsoft Management Console), поддерживают дружественный графический пользовательский интерфейс. Администраторы сети и пользователи могут запускать подобные программы, однако администраторы имеют права доступа к большему числу функций.
Системные файлы
Теперь, когда вы получили первое представление об архитектуре Windows XP, можно перейти к рассмотрению ее компонентов и проследить механизмы их функционирования. Windows XP использует два режима исполнения программных приложений: режим ядра (Kernel Mode) и пользовательский режим (User Mode). Процессор обычно заставляет приложения применять два из четырех имеющихся уровней защиты. Защита файлов операционной системы гарантирует нормальную работу операционной системы даже в условиях разрушения программного приложения. Другими словами, обеспечение безопасности и защита файлов являются весьма важными составляющими, дающими высокие показатели стабильности и надежности компьютерной системы.
Пользовательский режим соответствует наиболее низкому уровню защиты, причем все пользовательские приложения и утилиты операционной системы задействуют именно такой режим. На практике система «не доверяет» пользовательским приложениям, поэтому для установления связи с ОС им приходится взаимодействовать с промежуточными объектами.
Режим ядра соответствует наивысшему уровню защиты, причем все драйверы и базовые файлы работают именно в этом режиме. Кроме того, большая часть (если не все) служб также использует данный режим. Операционная система «доверяет» тем файлам, которые открыты в режиме ядра, поэтому для них предусматривается дополнительный контроль с тем, чтобы не допустить разрушения структуры системы. В частности, Microsoft рекомендует применять в системе только предлагаемые корпорацией драйверы.
В приводящихся ниже разделах подробно описываются оба режима. Важно хорошо осознать их возможности, а также понять характер их влияния на операционную систему. Правильное понимание воздействия, которое файл может оказать на операционную систему, весьма важно для поиска неисправностей. Если драйвер выходит из строя, он в ряде случаев приводит к разрушению всей системы. С другой стороны, вероятность повреждения приложения самой операционной системы относительно невелика. Если в Windows XP вы столкнулись с подобным явлением, оно, скорее всего, является следствием некорректного функционирования системного программного приложения в режиме ядра. Когда Windows XP сообщает о закрытии программного приложения в связи с обнаружением ошибки, это может быть вызвано работой этого приложения в пользовательском режиме и его некорректным поведением.
Пользовательский режимПользовательский режим связан с исполнением приложений. При запуске 32-разрядного приложения операционная система выделяет для него независимый объем памяти. Современные приложения могут задействовать объемы памяти величиной до 4 Гб. Windows XP выделяет объем памяти подобному приложению на основе анализа кодов и данных, которые хранятся в соответствующем разделе области памяти, называемом рабочим разделом памяти (Process Working Set). Некоторые современные приложения, предназначенные для создания сложной графики или моделирования процессов, реально претендуют на использование объемов памяти величиной до 4 Гб.
Выделяемая область памяти (4 Гб) обычно носит виртуальный характер, то есть не существует как реальная физическая среда. Многие пользователи в принципе не располагают объемами оперативной памяти на уровне 4 Гб. В некоторых случаях они просто не могут выделить объем в 4 Гб (даже при его наличии в системе), поскольку это требует объединения всей области оперативной памяти и отвлечения заметной области памяти жесткого диска. Предел в 4 Гб для программ является скорее теоретическим показателем, однако он служит своего рода точкой отсчета для создания более мощных по своим параметрам оперативной памяти и жестких дисков, которые, видимо, появятся уже в ближайшем будущем.
Ниже речь пойдет о методах выделения операционной системой Windows XP необходимых объемов памяти прикладным программам. Эти методы обычно ориентированы на применение программы Диспетчер виртуальной памяти (Virtual Memory Manager), когда каждое 32-разрядное приложение Windows использует свой небольшой объем памяти, причем ОС позволяет одним приложениям временно «заимствовать» память у других. Такой подход заметно отличается от тех, которые предлагались в предшествующих версиях Windows, когда все программы могли задействовать любые свободные разделы памяти. Специалисты Microsoft намеренно отказались от прежнего подхода, поскольку в ряде случаев он приводил к поистине катастрофическим последствиям. По этой причине они построили Windows XP более надежно, полностью исключив возникновение подобных катаклизмов.
Средства поддержки 16-разрядных приложений в Windows XP отличаются от средств поддержки 32-разрядных приложений. Так, операционная система предусматривает выделение единой области памяти для 16-разрядных приложений, поскольку именно в этом заключается принцип их создания. На практике Windows XP не активизирует эти приложения непосредственным образом. Для запуска 16-разрядных приложений используется специальная программа-утилита (см. файл WOWEXEC.EXE в каталоге SYSTEM32). В разделе «Системные файлы Windows XP, используемые в режиме ядра» данной главы будет показано, каким образом средства поддержки 16-разрядных приложений связаны с ядром Windows XP. Другими словами, пользовательский режим с применением 16-разрядных приложений во многом аналогичен такому же режиму с применением 32-разрядных приложений – за тем лишь отличием, что он опирается на компоненты 16-разрядного типа и реализуется с помощью единого раздела памяти.
Windows XP также поддерживает программные приложения MS DOS. В данном случае, однако, речь не идет о моделировании старой версии Windows со встроенными средствами поддержки. MS DOS является совершенно иной по структуре операционной системой и в этом смысле заметно отличается от Windows XP.Данный текст является ознакомительным фрагментом.