Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Современные периферийные устройства должны быть аппаратными, и их драйверы должны быть программно-настраиваемыми.
Устройство является аппаратно-конфигурируемым, если оно может принимать различные распределения ресурсов оборудования системы, таких как номера портов ввода-вывода, без физической модификации. Например, если набор дисков с поддержкой горячей замены Plug and Play подключен в избыточном массиве независимых дисков (RAID), пользователь может заменять диски, пока система работает. Если устройство является аппаратным, его драйверы не могут содержать жестко закодированные значения, зависящие от системы для аппаратных ресурсов устройства.
Драйвер можно настроить программным обеспечением, если:
Он может получать и изменять аппаратные ресурсы устройства динамически.
Драйверы, поддерживающие Plug and Play, не содержат жестко закодированных значений для аппаратных ресурсов устройства, а также не опрашивает устройство для определения назначений ресурсов. Вместо этого система динамически назначает ресурсы устройству, а затем предоставляет значения ресурсов драйверу.
Он был написан без предположений о других драйверах, которые могут находиться выше или ниже его в стеке драйверов.
Например, проектирование драйвера устройства нижнего уровня для диска должно быть достаточно гибким, чтобы поддерживать несколько файловых систем, реализованных несколькими высокоуровневыми драйверами файловой системы, возможно, на одном компьютере.
Кроме того, если компьютер имеет достаточную емкость устройства хранения, то тот же драйвер диска нижнего уровня не должен препятствовать поддержке отказоустойчивости промежуточного драйвера (реализованной как зеркальные разделы, наборы полос или наборы томов) в файловой системе.
Диспетчер PnP и каждый драйвер аппаратной шины PnP работают вместе, чтобы обеспечить интерфейс между оборудованием платформы для определенного типа шины ввода-вывода и программного обеспечения системы. Диспетчер PnP создает дерево устройств с узлами, представляющими все устройства в системе, включая автобусы. Для каждого устройства диспетчер PnP поддерживает два списка:
Список аппаратных ресурсов , которые устройство может использовать.
Список аппаратных ресурсов, фактически назначенных устройству.
Драйверы устройств помогают диспетчеру PnP создавать эти списки, которые хранятся в реестре. При добавлении и удалении устройств из системы диспетчер PnP переназначает ресурсы по мере необходимости и обновляет списки.
Компонент аппаратного абстрагирования (HAL) системы, реализованный в виде динамически подключаемой библиотеки, отвечает за поддержку некоторых аппаратных средств, специфичных для платформы, необходимую другим системным компонентам, включая драйверы режима ядра.