С точки зрения системы Plug and Play существуют следующие три типа драйверов:
|
Шинный драйвер
(драйвер
шины) обслуживает контроллер шины, адаптер, мост или любое устройство, которое
имеет дочерние устройства. Шинные драйверы относятся к обязательным драйверам
и обычно поставляются Microsoft. Для каждого типа шины в системе имеется
собственный шинный драйвер.
|
|
Функциональный драйвер —
это основной драйвер устройства, который предоставляет интерфейс с этим
устррйством. Этот драйвер является обязательным, за исключением случаев,
когда ввод/вывод устройства осуществляется шинным драйвером или любыми драйверами
фильтра. Функциональный драйвер устройства обычно реализуется в виде пары
драйвер/мини-драйвер. В таких парах
драйвер класса
(обычно разрабатываемый
Microsoft) обеспечивает функциональные возможности, необходимые всем устройствам
этого типа, а
мини-драйвер
(обычно разрабатываемый фирмой-поставщиком
конкретного устройства) обеспечивает специфические функциональные особенности
устройства. Plug and Play Manager загружает по одному функциональному драйверу
для каждого устройства.
|
|
Драйвер фильтра сортирует запросы ввода/вывода для шины, устройства или класса устройств. Драйверы фильтра являются необязательными и могут существовать в любом количестве, располагаясь на различных уровнях — как выше, так и ниже функционального драйвера и шинного драйвера. Обычно такие драйверы поставляются фирмами OEM или независимыми поставщиками аппаратных средств (1HV). В большинстве случаев драйверы фильтров нижнего уровня модифицируют поведение аппаратных средств. Например, низкоуровневый драйвер фильтра класса для мыши может обеспечивать ускорение ее работы, выполняя нелинейное преобразование данных о перемещении мыши. Высокоуровневые драйверы фильтров обычно предоставляют дополнительные функции для устройства. Например, высокоуровневый драйвер фильтра у для клавиатуры может вводить дополнительные проверки по безопасности. |