Серверные технологии хранения данных в среде Windows® 2000 Windows® Server 2003 | страница 5
Если быть более точным, то эта глава не предназначена для предоставления всей справочной информации, которая подготовит читателя к самостоятельному написанию драйверов устройств Windows NT. Точно так же глава не содержит полного описания самой операционной системы Windows NT. Читателю рекомендуется использовать справочные материалы, которое указаны в конце книги, чтобы получить достаточный объем знаний о структуре Windows NT для написания различных драйверов, включая драйвера системных фильтров.
Основное внимание в этой главе уделяется Windows NT и архитектуре драйверов в контексте устройств хранения данных. Возможности Windows NT и архитектура драйверов, которые не касаются устройств хранения, если и рассматриваются, то очень кратко.
В разделах 1.1 и 1.2 предоставлена терминология, которая будет часто использоваться на протяжении всей книги. В этих разделах приводятся такие термины, как режим ядра (kernel mode), пользовательский режим (user mode) и контекст процесса (process context). После вступительных разделов в главе рассматривается стек подсистемы хранения данных Windows, включая уровни файловых систем, управления томами, классов и портов. Кроме того, кратко рассматриваются драйверы фильтрации. В завершение приводится описание типичного запроса ввода-вывода, а также рассматривается обработка этого запроса на каждом из уровней стека ввода-вывода подсистемы хранения данных.
1.1 Режимы ядра и пользователя Windows
В этой книге регулярно используются термины режим ядра (kernel mode) и пользовательский режим (user mode). Перед определением этих терминов рассмотрим историю их происхождения.
Система Windows NT проектировалась, как переносимая операционная система, в которой весь код, зависимый от процессора и аппаратного обеспечения, изолирован в модуле, называемом уровнем аппаратных абстракций (hardware abstraction layer – HAL). Этот модуль рассматривается в разделе 1.3.1 далее в главе. Хотя Windows NT действительно раньше поддерживала несколько архитектур центральных процессоров, включая PowerPC и Alpha, современные версии Windows NT поддерживают только процессоры компании Intel и совместимые с ними модели (например, компании AMD). Некоторые базовые особенности архитектуры процессоров Intel рассматриваются далее в этом разделе, причем вместо описания всех возможностей архитектуры х86 затрагиваются лишь наиболее важные аспекты.
Архитектура Intel х86 поддерживает четыре режима работы: реальный