ВхД
Эта статья нуждается в дополнительных цитатах для проверки . ( сентябрь 2014 г. ) |
VxD — это модель драйвера устройства , используемая в Microsoft Windows/386 2.x, расширенном режиме 386 Windows 3.x , Windows 9x , а также, в некоторой степени, в Novell DOS 7 , OpenDOS 7.01 и DR-DOS 7.02 (и выше) многозадачность ( TASKMGR
). [1] VxD имеют доступ к памяти ядра , а также и всех запущенных процессов прямой доступ к оборудованию. Начиная с Windows 98 , модель драйвера Windows была рекомендуемой моделью драйверов для написания драйверов, при этом модель драйвера VxD все еще поддерживалась для обратной совместимости до Windows Me .
Название и дизайн
[ редактировать ]Имя «VxD» — это аббревиатура от «виртуальный драйвер xxx», где «xxx» — это некоторый класс аппаратного устройства. Это связано с тем, что большинство драйверов имели имена файлов в форме vxxxd.386
в Windows 3.x. Некоторые примеры: vjoyd.386 (джойстик) и vmm.386 (менеджер памяти). Файлы VxD в Windows 3.x обычно имеют расширение имени файла. .386
, а у тех, кто работает под Windows 9x, есть .vxd
. Файлы VxD, написанные для Windows 3.x, можно использовать в Windows 9x, но не наоборот.
История
[ редактировать ]До появления Windows приложения DOS либо напрямую взаимодействовали с различными частями оборудования (реагируя на прерывания, считывая и записывая память устройства и т. д.), либо проходили через драйвер устройства DOS . Поскольку DOS не была многозадачной, каждое приложение имело эксклюзивный и полный контроль над оборудованием во время работы. Хотя приложения Windows не часто напрямую взаимодействуют с оборудованием, для драйверов Windows это был единственный способ; и до сих пор находится в реальном и стандартном режимах Windows 3.x.
Windows/386 и более поздние версии позволяли одновременно выполнять несколько приложений DOS, каждое из которых выполнялось на своей виртуальной машине . Чтобы разделить физические ресурсы между этими виртуальными машинами, Microsoft представила драйверы виртуальных устройств. Эти драйверы решили проблемы, связанные с конфликтным использованием физических ресурсов, путем перехвата вызовов к оборудованию. Вместо машинного порта, представляющего собой реальное устройство, он будет представлять собой «виртуальное» устройство, которым может управлять операционная система.
В Windows 9x VxD представляет собой файл формата линейного исполняемого файла .
Устаревание
[ редактировать ]Хотя в Windows 98 была представлена модель драйверов Windows (WDM), драйверы устройств VxD можно использовать в Windows 98 и Windows Me. Использование драйверов VxD вместо драйверов WDM в Windows 9x может привести к ACPI, расширенных состояний таких как спящий режим недоступности .
VxD нельзя использовать в Windows NT и ее потомках. Операционные системы на базе Windows NT версий от 3.1 до 4.0 должны использовать драйверы, написанные специально для них. Эти драйверы также известны как модель драйверов Windows NT . Начиная с Windows 2000 , операционные системы на базе Windows NT переняли модель драйверов Windows из Windows 98.
Не следует путать VxD с одноименными «VDD» (драйверами виртуальных устройств), специфичными для NTVDM , которые обеспечивают метод эмуляции прямого ввода-вывода в «DOS Box» Windows NT. NTVDM VDD работают как обычные 32-битные библиотеки DLL пользовательского режима и должны полагаться на Win32 API (или другой драйвер WDM) для эмуляции желаемого ввода-вывода от имени 16-битной программы.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Пол, Матиас Р. (30 июля 1997 г.). NWDOS-TIPs — советы и подсказки для Novell DOS 7, с просмотром недокументированных подробностей, ошибок и обходных путей . MPDOSTIP, выпуск 157 (на немецком языке) (3-е изд.). Архивировано из оригинала 10 сентября 2017 г. Проверено 6 сентября 2014 г. (Примечание. NWDOSTIP.TXT — это всеобъемлющая работа по Novell DOS 7 и OpenDOS 7.01 , включая описание многих недокументированных функций и внутренних устройств. Это часть еще более обширной авторской коллекции MPDOSTIP.ZIP, которая поддерживалась до 2001 года и распространялась на многих сайтах по адресу: время. Предоставленная ссылка указывает на более старую версию файла NWDOSTIP.TXT, преобразованную в HTML.)
Дальнейшее чтение
[ редактировать ]- Шульман, Эндрю (ноябрь 1994 г.). Несанкционированная Windows 95 - Комплект ресурсов для разработчика (1-е изд.). Фостер-Сити, Калифорния, США: John Wiley & Sons, Inc. ISBN 1-56884-305-4 .
- Шульман, Эндрю; Браун, Ральф Д .; Макси, Дэвид; Михелс, Раймонд Дж.; Кайл, Джим (1994) [ноябрь 1993 г.]. Недокументированная DOS: Руководство программиста по зарезервированным функциям и структурам данных MS-DOS - расширено и включает MS-DOS 6, Novell DOS и Windows 3.1 (2-е изд.). Ридинг, Массачусетс: Эддисон Уэсли . ISBN 0-201-63287-Х . (xviii+856+vi страниц, дискета 3,5 дюйма) Исправления: [1] [2]
- Руководство программиста по Microsoft Windows 95: ключевые темы по программированию для Windows от группы разработчиков Microsoft Windows . Технический справочник (1-е изд.). Редмонд, Вашингтон, США: Microsoft Press . 1 июля 1995 г. ISBN 1-55615-834-3 . Проверено 26 мая 2016 г.
- Они, Уолтер (1995). Системное программирование для Windows 95 (1-е изд.). Редмонд, Вашингтон, США: Microsoft Press . ISBN 1-55615-949-8 .
- Пьетрек, Мэтт (ноябрь 1995 г.). Секреты системного программирования Windows 95 . Серия «Секреты» (1-е изд.). Джон Уайли и сыновья, Inc. ISBN 1-56884-318-6 . Проверено 26 мая 2016 г.
- Хазза, Карен (1997). Написание Windows VxD и драйверов устройств — секреты программирования драйверов виртуальных устройств (2-е издание, 2-е изд.). Лоуренс, Канзас, США: Miller Freeman, Inc. ISBN 0-87930-438-3 .