Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
WDM против WDF.doc
Скачиваний:
4
Добавлен:
28.08.2019
Размер:
2.17 Mб
Скачать

Подведем итоги

Пришла пора подведения итогов. Как мы выяснили, в настоящее время в Windows «господствуют» две драйверные модели – WDM и WDF. Таким образом, программист драйверов Windows сталкивается с интересной проблемой: можете ли вы считаться компетентным разработчиком драйверов, если вы знаете только WDF, или вам по-прежнему необходимо приложить усилия для изучения всех нюансов WDM? Да и что, в конечном счете, использовать: WDM или WDF?

Суммируя вышеизложенный материал, можно выделить основные недостатки и преимущества драйверных моделей WDM и WDF.

Достоинства WDM перед WDF:

  • возможность разработки сложных драйверов, например - драйверы файловых систем;

  • WDM необходима в случае, если производительность или использование ресурсов устройства сверхкритична;

  • подходит для написания практически любых видов драйверов.

К недостаткам WDM можно отнести следующие:

  • сложность разработки драйверов;

  • драйверы, написанные с применением WDM, могут выполняться только в режиме ядра;

  • сама модель WDM приводит к трудностям при тестировании и верификации;

  • сложность реализации поддержки Plug and Play и энергопитания.

К основным преимуществам драйверной модели WDF можно отнести:

  • простота и гибкость;

  • расширяемость, версионности, независимость от основных компонентов ОС;

  • в конструкцию WDF заложена функциональность содействовать обеспечению безопасности драйверов, предоставляя стандартные безопасные установки и выполняя всестороннюю проверку параметров;

  • поддержка драйверов, как пользовательского режима, так и режима ядра;

  • разработка драйверов с применением языка высокого уровня – Си++ (достоинство весьма условное, но все же плюс в пользу WDF);

  • встроенная поддержка механизма Plug and Play и управления энергопитанием на уровне инфраструктуры, которая предоставляет надежное управление состояниями и стандартное интеллектуальное управление переходами между состояниями;

  • по умолчанию инфраструктура предоставляет обработку для всех событий, поэтому драй­верам WDF не обязательно обрабатывать их (это позволяет разработчику сконцентрироваться на основных функциях драйвера, обеспечивающих необходимую функциональность для работы с устройством);

  • как следствие из выше перечисленного – возможность разработки достаточно надежных драйверов в более короткие сроки.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]