Программирование драйверов Windows




Расширения базовой операционной системы


Исполнительные компоненты Windows 2000/XP/2003 определяют и представляют основные сервисы операционной системы. Однако эти сервисы никогда не предоставляются программам пользовательского режима непосредственно. Вместо этого разработчики из Microsoft определили несколько интерфейсов прикладного программирования (Application Programming Interfaces), при помощи которых код пользовательского режима может обращаться к абстракциям системных служб.

Эти интерфейсы формируют различные среды (environmental subsystems), в которых и обитают прикладные программы. В настоящее время в Windows NT 5 представлены:

  • Win32 подсистема, являющаяся собственным (native-mode) API для 32-разрядных версий Windows. Bce остальные среды (environmental subsystems) используют эту подсистему для выполнения своей работы. Все новые приложения 32-разрядных Windows 2000/XP/2003 (а также и все перенесенные) полагаются на Win32 как на среду своего функционирования. Из-за важности (и достаточно интересной реализации) эта подсистема будет рассмотрена далее более детально. Следует, однако, отметить, что в 64-разрядной версии Windows (версии XP/Server 2003) она сама становится клиентом WOW64 (см. ниже).
  • Virtual DOS Machine (VDM, виртуальная DOS машина) подсистема обеспечивает 16-разрядную MS DOS операционную среду для старых DOS приложений. Несмотря на уверения в совместимости, множество существующих DOS программ в этой среде не работают надлежащим образом. Происходит это по той причине, что Microsoft, проповедуя консервативный подход, предоставляет эмуляцию аппаратуры вместо возможности непосредственного обращения к ней. В результате, прямой доступ к аппаратуре приводит к ограничению со стороны операционной системы и, зачастую, отказу данного DOS приложения работать.
  • Подсистема 'Windows on Windows' (WOW) поддерживает операционную среду для возможности работы старых 16-битных приложений Windows (например, Windows 3.x). В 64-разрядных клонах Windows XP/Server 2003 подсистема WOW 64 служит для запуска созданных ранее 32-разрядных приложений, перенесенных на новые аппаратные платформы.



  • Содержание  Назад  Вперед