Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les périphériques d’aujourd’hui doivent être configurables par le matériel, et leurs pilotes doivent être configurables par logiciel.
Un appareil est configurable matériellement s’il peut accepter différentes affectations des ressources matérielles du système, telles que les numéros de port d’E/S, sans être physiquement modifiés. Par exemple, si un ensemble de disques plug-and-play enfichables à chaud est connecté dans un tableau redondant de disques indépendants (RAID), un utilisateur peut échanger des disques pendant l’exécution du système. Si un appareil est configurable matériellement, ses pilotes ne peuvent pas contenir de valeurs codées en dur et dépendantes du système pour les ressources matérielles de l’appareil.
Un pilote est configurable par logiciel si :
Il peut recevoir et modifier dynamiquement les ressources matérielles de son appareil.
Les pilotes qui prennent en charge Plug and Play ne contiennent pas de valeurs codées en dur pour les ressources matérielles d’un appareil, et le pilote n’interroge pas l’appareil pour déterminer ses affectations de ressources. Au lieu de cela, le système affecte dynamiquement des ressources à l’appareil, puis fournit des valeurs de ressources au pilote.
Il a été écrit sans faire d'hypothèses sur les autres pilotes susceptibles de résider au-dessus ou en dessous de lui dans la pile de pilotes du système.
Par exemple, la conception d’un pilote de périphérique de niveau inférieur pour un disque doit être suffisamment flexible pour prendre en charge plusieurs systèmes de fichiers implémentés par plusieurs pilotes de système de fichiers de haut niveau, éventuellement sur un seul ordinateur.
En outre, si un ordinateur dispose d’une capacité de stockage de masse suffisante, ce même pilote de disque de niveau inférieur ne doit pas interférer avec la prise en charge d’un pilote intermédiaire pour la tolérance de panne (implémentée en tant que partitions en miroir, jeux de bandes ou jeux de volumes) au sein d’un système de fichiers.
Le gestionnaire PnP et chaque pilote de bus matériel PnP fonctionnent ensemble pour fournir une interface entre le matériel de la plateforme pour un type spécifique de bus d’E/S et le logiciel du système. Le gestionnaire PnP génère une arborescence d’appareils, avec des nœuds qui représentent tous les appareils sur le système, y compris les bus. Pour chaque appareil, le gestionnaire PnP gère deux listes :
Liste des ressources matérielles que l’appareil est capable d’utiliser.
Liste des ressources matérielles qui sont réellement affectées à l’appareil.
Les pilotes de périphérique aident le gestionnaire PnP à créer ces listes, qui sont conservées dans le Registre. À mesure que les appareils sont ajoutés et supprimés du système, le gestionnaire PnP réaffecte les ressources si nécessaire et met à jour les listes.
Le composant HAL (Hardware Abstraction Layer) du système, qui est implémenté en tant que bibliothèque de liens dynamiques, est responsable de certaines de la prise en charge matérielle spécifique à la plateforme qui est nécessaire par d’autres composants système, y compris les pilotes en mode noyau.