Операционная система Microsoft Windows 3.1 для программиста. Дополнительные главы


Введение - часть 3


Создание драйвера для стандартного устройства компьютера под силу только разработчику, имеющему доступ к полному описанию аппаратного интерфейса устройства и знающего все "потайные" уголки Windows. Однако к счастью, у обычных программистов практически никогда не возникает необходимость разработки собственного драйвера для стандартных устройств компьютера, таких как видеоконтроллер, принтер или контроллер диска - нужные драйверы поставляются разработчиком устройства или Microsoft. В то же время иногда возникают задачи, которые принципиально невозможно разрешить в рамках стандартного программного интерфейса Windows, рассчитанного на обычные приложения.

Например, для обеспечения работы нестандартного устройства в режиме реального времени вам потребуются средства, доступные только драйверам Windows. Иногда нужно "преодолеть" защиту Windows, основанную на использовании колец защиты. Приложения Windows работают в третьем, наименее привилегированном кольце защиты, а виртуальные драйверы - в нулевом. Поэтому только виртуальные драйверы могут обращаться к любым областям оперативной памяти, к любым регистрам процессора и портам ввода/вывода, а также обрабатывать прерывания в реальном времени. Другая важная задача, которая под силу только виртуальным драйверам, - организация взаимодействия между различными виртуальными машинами, работающими в среде Windows.

В пятой главе мы расскажем о трех различных типах драйверов Windows, уделив основное внимание виртуальным и загружаемым драйверам. Тех же, кому требуется разрабатывать драйверы стандартных устройств компьютера, мы отсылаем к документации, поставляющейся вместе с DDK - системой разработки драйверов Microsoft Driver Development Kit for Windows 3.1, а также к книге Д. Нортона "Writing Windows Device Drivers" (имеется перевод этой книги на русский язык).

При этом вы можете использовать пятую главу нашей книги с одной стороны, как введение в книгу Д. Нортона, с другой - как дополнение этой книги, в которой нет ни одного примера виртуального драйвера, и ничего не сказано про загружаемые драйверы.




Начало  Назад  Вперед



Книжный магазин