VxD - VxD

VxD это драйвер устройства модель, используемая в Microsoft Windows / 386, 386 расширенный режим Windows 3.x, Windows 9x, и в некоторой степени также Novell DOS 7, OpenDOS 7.01, и DR-DOS 7.02 (и выше) многозадачность (ТАСКМГР).[1] VxD имеют доступ к объем памяти из ядро и все работает процессы, а также прямой доступ к оборудованию.

Дизайн

Название «VxD» является сокращением от «виртуального драйвера xxx», где «xxx» - это некоторый класс аппаратного устройства. Это происходит из-за того, что у большинства драйверов имена файлов имеют вид vxxxd.386 в Windows 3.x. Вот несколько примеров: vjoyd.386 (джойстик), vmm.386 (менеджер памяти). VxD обычно имеют расширение имени файла .386 под Windows 3.x и .vxd под Windows 9x. VxD, написанные для Windows 3.x, можно использовать в Windows 9x, но не наоборот.

История

До появления Windows ДОС приложения будут либо напрямую взаимодействовать с различными частями оборудования (реагируя на прерывания, считывать и записывать память устройства и т. д.), либо проходить через DOS драйвер устройства. Поскольку DOS не была многозадачной, каждое приложение имело монопольный и полный контроль над оборудованием во время работы. Хотя Windows приложения не часто напрямую связываются с оборудованием, это был единственный способ для драйверов Windows; и по-прежнему находится в реальном и стандартном режимах Windows 3.x.

Windows / 386 и более поздние версии позволяли нескольким приложениям DOS работать одновременно, выполняя каждое в своем собственном виртуальная машина. Чтобы совместно использовать физические ресурсы между этими виртуальными машинами, Microsoft представила драйверы виртуальных устройств. Эти драйверы решают проблемы, связанные с конфликтующим использованием физических ресурсов, путем перехвата вызовов к оборудованию. Вместо порт машины представляя реальное устройство, оно будет представлять собой «виртуальное» устройство, которым может управлять операционная система.

Моральное устаревание

Хотя Windows 98 представила Модель драйвера Windows (WDM), драйверы устройств VxD можно использовать под Windows 98 и Windows Me. VxD нельзя использовать в Windows NT или его потомки. Начиная с Windows 2000, операционные системы на базе Windows NT также используют модель драйверов Windows, тогда как Windows NT 4 и более ранние версии должны использовать драйверы, написанные специально для них. Использование драйверов VxD вместо драйверов WDM в Windows 9x привело к расширенным ACPI заявляет как спячка быть недоступным.

VxD не следует путать с одноименными НТВДМ -специфические 'VDD' (драйверы виртуальных устройств), которые обеспечивают метод имитации прямого ввода-вывода в Windows NT "DOS Box". VDD NTVDM работают как обычные 32-разрядные библиотеки DLL пользовательского режима и должны полагаться на Win32 API (или другой драйвер WDM) для имитации желаемого ввода-вывода от имени 16-разрядной программы.

Смотрите также

Рекомендации

  1. ^ Пол, Матиас Р. (1997-07-30). NWDOS-TIPs - Советы и приемы для Novell DOS 7, с подробностями, исправлениями и обходными путями Blick auf undokumentierte. MPDOSTIP. Выпуск 157 (на немецком языке) (3-е изд.). В архиве из оригинала на 2017-09-10. Получено 2014-09-06. (NB. NWDOSTIP.TXT - это комплексная работа над Novell DOS 7 и OpenDOS 7.01, включая описание многих недокументированных функций и внутренних компонентов. Он является частью еще более обширной коллекции автора MPDOSTIP.ZIP, поддерживаемой до 2001 года и распространенной в то время на многих сайтах. Предоставленная ссылка указывает на старую версию файла NWDOSTIP.TXT, преобразованную в HTML.)

дальнейшее чтение