Поделиться через


Водители автобусов

Водитель шины обслуживает контроллер шины, адаптер или мост (см. рисунок "Возможные уровни драйверов"). Корпорация Майкрософт предоставляет драйверы для наиболее распространенных шин, таких как PCI, PnpISA, SCSI и USB. Другие водители автобусов могут быть предоставлены IHV или OEM. Драйверы шины являются необходимыми; В системе для каждого типа шины предусмотрен свой драйвер. Водитель автобуса может обслуживать несколько автобусов, если на компьютере имеется несколько автобусов одного типа.

Основными обязанностями водителя автобуса являются:

  • Перечислите устройства на данной шине.

  • Отвечайте на запросы IRP Plug and Play и IRP управление питанием.

  • Мультиплексный доступ к автобусу (для некоторых автобусов).

  • Обычно администрировать устройства на своей шине.

Водители автобусов по сути являются драйверами функций , которые также перечисляют дочерние элементы.

Во время перечисления драйвер шины определяет устройства на шине и создает для них объекты устройств. (Сведения об объектах устройств см. в разделе "Объекты устройств" и "Стеки устройств".) Метод, который использует водитель шины для идентификации подключенных устройств, зависит от конкретной шины.

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

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

Так как драйвер шины выступает в качестве драйвера функции для контроллера, адаптера или моста, он также управляет политикой питания устройства для этих компонентов.

Драйвер шины можно реализовать как пару драйвер/минидрайвер, подобно тому, как пара драйверов порта/минипорта SCSI управляет SCSI-хостовым адаптером шины (HBA). В таких парах драйверов минидрайвер связан со вторым драйвером, который является DLL.