Драйвер
Что такое драйвер
Понять, что такое драйвер, мы попробуем на типовом примере взаимодействия прикладной программы с драйвером. | Код прикладной программы исполняется в пользовательском режиме работы процессора. В этом случае имеется ряд серьезных ограничений, связанных с доступом к памяти, аппаратным обеспечением и привилегированными инструкциями процессора.Типы драйверов и характеристики
В NT существует два типа драйверов: драйверы пользовательского режима и драйверы режима ядра. В дальнейшем, говоря "драйвер", мы будем подразумевать драйвер режима ядра. Такие драйверы являются частью исполнительной системы, а более точно – элементами диспетчера ввода/вывода (архитектура NT и ее компоненты будут обсуждаться ниже).Среда разработки
В этом разделе мы рассмотрим, какое программное обеспечение необходимо для разработки и отладки драйверов, а также его установку и настройку. Необходимое ПО: | операционная система Windows NT или Windows 2000, Service Pack и отладочная информация; | компилятор; | SDK; | DDK;Утилита BUILD
Для построения драйверов и связанных с ними прикладных программ используется утилита BUILD, входящая в состав DDK. Эта утилита позволяет создавать любой тип исполняемого файла, поддерживаемый NT с использованием командной строки.С и C++. Интегрированная среда разработки.
Необходимо особо отметить, что драйверы предполагается писать на С, а не на C++. Microsoft не поддерживает использование C++ для компонентов ядра. Для этого имеется ряд причин: | отсутствие библиотеки времени исполнения (runtime library), а, следовательно, и определяемых в ней глобальных операторов new и delete4; | отсутствие поддержки исключительных ситуаций C++;