Полное руководство по Microsoft Windows XP
Шрифт:
Windows XP приходится поддерживать подобные иллюзии, поскольку многие программы MS DOS захватывают большие объемы памяти, взаимодействуют с системой на основе устаревших приемов и нарушют все мыслимые и немыслимые правила, принятые для среды Windows XP. В свое время корпорация Microsoft предложила MS DOS в качестве однозадачной системы, поэтому нет ничего странного в том, что ее программные приложения не могут «вписаться» в рабочую среду Windows XP, поэтому Windows XP вынуждена отделять и надежно изолировать их от других своих разделов.
Системные файлы Windows XP, используемые в режиме ядра
Первое,
При создании приложения для Windows разработчик обычно обращается к интерфейсу API и предлагает операционной системе выполнить необходимую операцию. Подобный запрос во многом напоминает обращение, направляемое приятелю, чтобы он, скажем, сделал несколько покупок в магазине. Коды интерфейса API присутствуют в системных файлах. Естественно, рассмотренная выше модель интерфейса API является весьма упрощенной. Windows XP обычно использует два интерфейса API: 16– и 32-разрядный. Каждый их этих интерфейсов допускает исполнение приложений в пользовательском режиме, в частности направление запросов операционной системе, которая сама работает в режиме ядра.
Вне зависимости от конкретного типа интерфейса API, применяемого приложением Windows, обеспечивается взаимодействие с тремя компонентами (файлами) операционной системы. Так, 16-разрядные версии этих файлов соответствуют GDI.EXE, USER.EXE и KRNL386.EXE, а 32-разрядные – GDI32.DLL, USER32.DLL и KERNEL32.DLL. Разработчики называют данный набор файлов интерфейсом Win32 API. Имеются и другие интерфейсы API для выполнения требуемых операций, причем в большинстве случаев запросы к API формируются при исполнении приложения в пользовательском режиме и при обращении его к операционной системе, работающей в режиме ядра.
Примечание
Другие операционные системы поддерживаются Windows XP с помощью специальных драйверов, служб и библиотечных файлов DLL, упоминавшихся в предшествующих разделах. Другими словами, сервер транслирует запросы, создаваемые приложениями, в запросы Windows API. При этом приложения, которые ориентируются на другие ОС, используют те же компоненты, что и приложения Windows (несмотря на тот факт, что они предназначены для работы с совсем другими операционными системами).
В приводящемся ниже перечне подробно описываются три упомянутых базовых компонента (файла):
• ядро операционной системы Windows (модуль Kernel, файл KRNL386.EXE или KERNEL32.DLL). Этот модуль средств Windows XP поддерживает функции низкого уровня, используемые различными приложениями. Например, каждый раз, когда приложение испытывает потребность в области памяти, оно обращается к компоненту Windows Kernel для получения необходимого объема памяти. Этот компонент образует реальное ядро операционной системы, однако Windows XP не сможет нормально работать без двух других компонентов.
• интерфейс графического устройства (компонент Graphical Device Interface, файл GDI.EXE или GDI32.DLL). Каждый раз, когда приложение выводит на экран данные, оно прибегает к помощи службы интерфейса графического устройства (Graphical Device Interface – GDI). Этот компонент Windows XP отвечает за использование шрифтов, служб печати, режимов воспроизведения, режимов управления цветностью и за другие подобные режимы, инициируемые пользователем при исполнении программных приложений;
• модуль User (модуль User, файл USER.EXE или USER32.DLL). Windows XP основана на применении хорошо известных объектов – окон. При этом требуется управляющая программа, которая отслеживает все окна, создаваемые приложением для вывода данных различного типа. Тем не менее работа компонента User в этот момент только начинается. Каждый раз при выводе приложением значка или изображения кнопки оно задействует тот или иной компонент модуля User и его соответствующую функцию. Поэтому модуль User интерфейса Windows API проще представить в виде управляющей программы: подобный подход позволяет правильно организовывать и использовать объекты данных.
Функции Plug and Play базовой системы ввода-вывода данных BIOS
До сих пор мы еще не говорили о регистрации операционной системой Windows XP устройств, что позволяет выявлять факт инсталляции соответствующих драйверов. ОС обычно использует функцию Plug and Play [32] (PnP) для регистрации различных устройств. Следует отметить, что технология PnP обеспечивает наиболее простой вариант конфигурирования аппаратных средств на компьютере.
Функция PnP хорошо известна в компьютерной технологии. Первый компьютер типа МСА (MicroChannel Architecture – микроканальная архитектура) фирмы IBM предусматривал применение всех компонентов, необходимых для PnP, за исключением самой операционной системы. Многие компьютеры типа EISA (Extended Industrial Standard Archirecture – расширенный промышленный стандарт архитектуры) также использовали аналоги функции PnP. Эта технология впервые была полноценно включена (совместно с операционной системой) в Windows 95.
Функция PnP представляет собой результат совмещения трех системных компонентов: аппаратных средств, системы BIOS и операционной системы. Система BIOS обеспечивает в данном случае организацию всех системных компонентов при запуске, а также активизацию всех основных компонентов, например, дисководов жестких дисков и видеоадаптеров. Все остальные компоненты системы ожидают своей очереди вплоть до завершения перезагрузки системы.
В процессе перезагрузки операционная система завершает операцию по присвоению векторов прерывания и адресов портов каждому системному компоненту. В отличие от Windows 9х, Windows XP отменяет параметры вектора прерывания и адрес ввода-вывода, задаваемых системой BIOS. Этот подход позволяет Windows XP функционально гибко конфигурировать аппаратные средства.