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