Защищенная память - Windows ХР использует возможность Центрального процессора (CPU) выполнять коды в привилегированном режиме или в пользовательском режиме. Большая часть функциональных возможностей операционной системы реализуется в привилегированном режиме, и это та часть, которая отвечает за контроль доступа к физической памяти, установленной на компьютере. Пользовательские приложения должны делать запрос к операционной системе для получения доступа к виртуальной памяти. Так как ядро защищает физическую память от приложений, то зависание или крах системы становится маловероятным.
Виртуальная память - Windows ХР способна поддерживать до 4 гигабайт (Гб) виртуальной памяти, она использует специальный файл, в котором содержатся части памяти, не нужные в данный момент приложению либо операционной системе. Этот большой адресный сегмент памяти не делится между запущенными приложениями. Каждому приложению даются свои собственные 4 Гб виртуальной памяти, что позволяет облегчить работу некоторых сложных приложений, работающих с графикой и звуком, и сделать вашу работу за компьютером намного приятнее. Любители игр обнаружат, что Windows ХР будет работать также хорошо или даже лучше, чем предыдущие версии Windows 9х.
Многозадачность — это способность работать с несколькими приложениями одновременно. Работая в офисе, приходится запускать сразу несколько приложений, переключаться между активными и фоновыми приложениями, и переносить данные между ними. Windows ХР выполнит эти задачи легче.
Работа с несколькими процессорами - Windows ХР может запускать приложения, используя несколько процессоров на одном компьютере. Благодаря этой возможности время отклика приложений может быть уменьшено. Несмотря на то, что раньше мощные графические станции обычно работали на Unix или на собственных операционных системах, вы поймете, что Windows ХР способна справиться с подобными заданиями, имея при этом значительно меньшую стоимость.
Hardware Abstraction Layer (HAL) - это уровень кода, стоящий между операционной системой и устройствами, подключенными к компьютеру, такими как сетевая карта, дисковый накопитель, й позволяющий операционной системе контролировать эти устройства. Это позволяет избежать зависания системы из-за нестабильно работающих устройств.
Привилегированный режим и пользовательский режим
Windows ХР основывается на той же архитектуре, что и Windows NT и Windows 2000. Это операционная система, работающая с виртуальной памятью и использующая два основных режима работы. Привилегированный режим - это уровень кода операционной системы, отвечающий за управление такими важными частями операционной системы, как виртуальная память и диспетчер времени, с помощью которых приложения могут запускаться в любое заданное время. Код операционной системы, выполняемый в режиме ядра, имеет прямой доступ к памяти и устройствам, установленным на компьютере. Так как в Windows ХР Исполняемые сервисы (Executive Services) выполняются в привилегированном режиме, это защищает память системы от приложений, пытающихся получить доступ к "чужой" памяти, что снижает вероятность возникновения проблем.
Примечание
Executive Services работают в привилегированном режиме и могут совершать операции, недоступные пользовательским приложениям. Например, если приложение ожидает данные с диска, оно не контактирует с ним напрямую. Вместо этого приложение обращается к контроллеру ввода/вывода данных Executive Services, который в свою очередь обращается к диску, исполняя запрос приложения.
Пользовательский режим - это режим, в котором программа выполняется и управляется компонентами ядра. Например, ядро ответственно за распределение памяти, используемой приложением. Пользовательские прикладные программы делают запросы к коду ядра, такие как выделение памяти, вызывая системные функции. Код привилегированного режима Windows ХР в данном случае отвечает за корректную работу приложений и, в случае необходимости, может закрыть работающее некорректно приложение.
Привилегированный режим и Hardware Abstraction Layer
Ядро также отвечает за связь большинства аппаратных устройств с приложениями. Компонент ядра, называемый Hardware Abstraction Layer (HAL), отвечает за управление аппаратными устройствами, подключенными к компьютеру. Исключениями являются драйверы устройств, которые обмениваются информацией с файловой системой и сетью, Win32K и подсистемами графики GDI, используемыми для взаимодействия с монитором и устройствами ввода данных. Рисунок 1.1 показывает общий обзор разделения задач, выполняемых различными компонентами операционной системы. В данной главе мы обсудим эти компоненты более детально.
В более ранних версиях операционных систем Microsoft прикладные программы могли напрямую взаимодействовать с аппаратными устройствами, подключенными к компьютеру. По нескольким причинам HAL был разработан вместе с Windows NT. Сначала Windows NT был создан для работы на нескольких аппаратных платформах - на процессорах Intel, процессорах типа PowerPC, Alpha, и процессорах MIPS. С обеспечением абстрактного уровня кода между фактическими аппаратными устройствами и прикладными программами, стала возможна установка Windows NT на разные платформы. С использованием HAL блокирование системы приложением при зависании отдельного устройства, в свою очередь, стало невозможным.