VxD - модель драйверів пристроїв, що використовується в Microsoft Windows/386, 386 розширеному режимі Windows 3.x, Windows 9x і певною мірою, в Novell DOS 7 , OpenDOS 7.01 і DR-DOS 7.02. VxD має доступ до пам'яті з ядра, всіх запущених процесів, а також прямий доступ до апаратних засобів.

Назва VxD - це абревіатура virtual xxx driver віртуальний драйвер xxx), де xxx - певний клас апаратного пристрою. Це випливає з того факту, що багато драйверів у Windows 3.x мали імена файлів виду vxxxd.386. Наприклад: vjoyd.386 (джойстик), vmm.386 (диспетчер пам'яті). VxD зазвичай мали розширення файлу .386 під Windows 3.x та .vxd під Windows 9x. VxD-драйвери, написані для Windows 3.x, можна використовувати під Windows 9x, але не навпаки.

Історія
До появи Windows, DOS додатки або безпосередньо зверталися до різних частин апаратних засобів (відповідали на запити, переривання, читання та запис на згадку про пристрій тощо) чи через DOS- драйвер пристрою. Оскільки DOS не була багатозадачною системою, кожен додаток мав ексклюзивний та повний контроль над апаратними засобами під час роботи. І хоча Windows -додатки не часто поводилися безпосередньо з апаратними засобами, це був єдиний спосіб для драйверів Windows, він досі перебуває в реальних та стандартних режимах Windows 3.x.

Починаючи з Windows/386 і далі дозволявся одночасний запуск кількох DOS-додатків, кожна з яких запускалася у власній віртуальній машині . Для спільного використання фізичних ресурсів віртуальними машинами Microsoft було введено драйвери віртуальних пристроїв (virtual device drivers). Ці драйвери вирішували питання, пов'язані з конфліктами, що виникають під час використання фізичних ресурсів шляхом перехоплення звернень до апаратного забезпечення. Наприклад, замість апаратного порту , що є фактичним пристроєм, драйвер являв собою «віртуальний» пристрій, яким могла керувати операційна система.

Див. також
* IO.SYS
* .sys

Джерела