•
Системные файлы
Теперь, когда вы получили первое представление об архитектуре Windows XP, можно перейти к рассмотрению ее компонентов и проследить механизмы их функционирования. Windows XP использует два режима исполнения программных приложений:
Пользовательский режим соответствует наиболее низкому уровню защиты, причем все пользовательские приложения и утилиты операционной системы задействуют именно такой режим. На практике система «не доверяет» пользовательским приложениям, поэтому для установления связи с ОС им приходится взаимодействовать с промежуточными объектами.
Режим ядра соответствует наивысшему уровню защиты, причем все драйверы и базовые файлы работают именно в этом режиме. Кроме того, большая часть (если не все) служб также использует данный режим. Операционная система «доверяет» тем файлам, которые открыты в режиме ядра, поэтому для них предусматривается дополнительный контроль с тем, чтобы не допустить разрушения структуры системы. В частности, Microsoft рекомендует применять в системе только предлагаемые корпорацией драйверы.
В приводящихся ниже разделах подробно описываются оба режима. Важно хорошо осознать их возможности, а также понять характер их влияния на операционную систему. Правильное понимание воздействия, которое файл может оказать на операционную систему, весьма важно для поиска неисправностей. Если драйвер выходит из строя, он в ряде случаев приводит к разрушению всей системы. С другой стороны, вероятность повреждения приложения самой операционной системы относительно невелика. Если в Windows XP вы столкнулись с подобным явлением, оно, скорее всего, является следствием некорректного функционирования системного программного приложения в режиме ядра. Когда Windows XP сообщает о закрытии программного приложения в связи с обнаружением ошибки, это может быть вызвано работой этого приложения в пользовательском режиме и его некорректным поведением.
Пользовательский режимПользовательский режим связан с исполнением приложений. При запуске 32-разрядного приложения операционная система выделяет для него независимый объем памяти. Современные приложения могут задействовать объемы памяти величиной до 4 Гб. Windows XP выделяет объем памяти подобному приложению на основе анализа кодов и данных, которые хранятся в соответствующем разделе области памяти, называемом
Выделяемая область памяти (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.