WDM против WDF.ppt
- Количество слайдов: 16
ПРЕИМУЩЕСТВА И НЕДОСТАТКИ ДРАЙВЕРНЫХ МОДЕЛЕЙ WDM И WDF
Первые DOS драйверы представляли собой драйверы реального режима и программировались исключительно на ассемблере…
Windows 1. 0 ……… Windows NT 3. 1 Windows 3. 1 ……… Windows 95/98/Me Windows NT 4. 0 Windows 2000/XP Параллельно с эволюцией систем происходило развитие драйверных концепций… ………
Инфраструктура, поддерживающая работу и функционирование драйверов Драйвер 1 Драйвер i Драйвер N
Драйверная модель в операционных системах Windows 9 x/Me
Архитектура WDM
Менеджер ввода/вывода n n Координирует работу драйверов в подсистеме ввода-вывода. Верхний слой менеджера составляют системные вызовы ввода/вывода, которые получают запросы от приложений и переадресуют их определенным драйверам. Нижний слой реализует взаимодействие с контроллерами внешних устройств, экранируя драйверы от особенностей аппаратной платформы компьютера. Еще одна функция менеджера ввода-вывода – организация взаимодействия модулей ввода-вывода с модулями других подсистем (управление процессами, виртуальной памятью и т. д. ).
q. Функции работают в режиме ядра и обслуживают запросы приложений на обращение к устройству. q. Создают структуру данных, называемую пакетом запроса ввода-вывода, или IRP (I/O Request Packet). q. Осуществляют передачу IRP точке входа некоторому драйверу устройства.
Пакеты запроса ввода/вода – IRP q Операции ввода/вывода инкапсулированы в специальные структуры – пакеты IRP. q В модели WDM посредством IRP осуществляется единая обработка операций ввода/вывода. q Пакет IRP содержит специальные коды, которые указывают тип запроса и уточняющую информацию.
ОСОБЕННОСТИ ДРАЙВЕРНОЙ МОДЕЛИ WDM • Совместимость на уровне двоичных кодов между драйверами для Windows 98 и NТ; • Поддержка управления питанием (power management), что дает системе возможность осуществления энергосбережения путем выборочного отключения питания нескольких или всех устройств в системе; • Поддержка Plug and Play; • Поддержка "продвинутого" шинного управления (advanced bus management); • Единая обработка операций ввода/вывода посредством общей структуры данных IRP (в Windows 98/Ме существовали серьезные различия в работе с дисками, коммуникационными портами, клавиатурами и т. д. ).
НЕДОСТАТКИ WDM • сложность разработки драйверов; • драйверы, написанные с применением WDM, могут выполняться только в режиме ядра; • сложность тестирования и верификации драйверов; • сложность реализации поддержки Plug and Play и энергопитания.
Драйверная модель WDF
Состав драйверной модели WDF q. Среда для разработки драйверов режима ядра (Kernel-Mode Driver Framework KMDF). q. Среда для разработки драйверов пользовательского режима (User-Mode Driver Framework - UMDF). q. Инструменты для проверки и отладки драйверов.
Инфраструктура UMDF
ОСОБЕННОСТИ ДРАЙВЕРНОЙ МОДЕЛИ WDF • простота и гибкость; • расширяемость, версионности, независимость от основных компонентов ОС; • в конструкцию WDF заложена функциональность содействовать обеспечению безопасности драйверов, предоставляя стандартные безопасные установки и выполняя всестороннюю проверку параметров; • поддержка драйверов, как пользовательского режима, так и режима ядра; • разработка драйверов с применением языка высокого уровня – Си++ (достоинство весьма условное, но все же плюс в пользу WDF); • встроенная поддержка механизма Plug and Play и управления энергопитанием на уровне инфраструктуры, которая предоставляет надежное управление состояниями и стандартное интеллектуальное управление переходами между состояниями; • по умолчанию инфраструктура предоставляет обработку для всех событий, поэтому драй верам WDF не обязательно обрабатывать их (это позволяет разработчику сконцентрироваться на основных функциях драйвера, обеспечивающих необходимую функциональность для работы с устройством); • как следствие из выше перечисленного – возможность разработки достаточно надежных драйверов в более короткие сроки.
Подведем итоги q. WDF представляет общую драйверную модель для широкого круга типов устройств. q. WDF более простая в освоении и использовании драйверная модель в отличии от WDM. q. Без знаний WDM невозможно разрабатывать понастоящему сложные, безопасные и функциональные драйверы.