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


Драйверы для Windows - часть 2


Так как устройства компьютера достаточно сильно отличаются друг от друга, сложно придумать единый интерфейс, удовлетворяющий требованиям, например, таких разных устройств, как дисплейный адаптер и принтерный порт.

Поэтому можно считать, что стандартные драйверы для стандартных устройств компьютера - это программы с разнотипным интерфейсом, которые объединяет только то, что все они реализованы как DLL-библиотеки, что приложения вызывают их для доступа к аппаратуре, и что все они загружаются в память в процессе загрузки Windows.

С возникновением версии 3.0 операционной системы Windows на свет появился новый тип драйверов - виртуальные драйверы.

Виртуальные драйверы не похожи ни на что другое в Windows. Это 32-разрядные DLL-библиотеки, работающие в так называемой FLAT-модели памяти. Они - чужестранцы в 16-разрядном мире Windows версий 3.0 и 3.1.

FLAT-модель является сплошной (несегментированной) моделью памяти. Однако название модели памяти не должно вводить вас в заблуждение. На самом деле сегменты памяти существуют всегда (так как даже в процессоре Pentium есть сегментные регистры!), но размер этих сегментов для FLAT-модели составляет 4 Гбайт.

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

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




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



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