Driver Windows

Driver Windows

Qu’est-ce qu’un pilote?

Un driver ou pilote informatique, souvent abrégé en pilote, est
un composant logiciel qui permet au système d’exploitation et à un périphérique de communiquer entre eux.

Par exemple, supposons qu’une application ait besoin de lire certaines données d’un périphérique. L’application appelle une fonction implémentée par le système d’exploitation et le système d’exploitation appelle une fonction implémentée par le pilote. Le pilote, sait comment communiquer avec le matériel du périphérique pour obtenir les données. Une fois que le pilote a récupéré les données du périphérique, il les renvoie au système d’exploitation, qui les renvoie à l’application.

Types de pilotes

Function driver

Un pilote de fonction est le pilote principal d’un périphérique. Le gestionnaire PnP charge au plus un pilote de fonction pour un périphérique. Un pilote de fonction peut desservir un ou plusieurs périphériques. Un pilote de fonction fournit l’interface opérationnelle pour son périphérique. Généralement, le pilote de fonction gère les lectures et les écritures sur le périphérique, ainsi que la stratégie d’alimentation du périphérique.

Bus driver

Un pilote de bus dessert un contrôleur de bus, un adaptateur ou un pont. Microsoft fournit des pilotes de bus pour la plupart des bus courants, tels que PCI, PnpISA, SCSI et USB. D’autres pilotes de bus peuvent être fournis par des IHVs ou OEMs . Les pilotes de bus sont des pilotes obligatoires, il y a un pilote de bus pour chaque type de bus sur une machine. Un pilote de bus peut desservir plusieurs bus s’il y a plus d’un bus du même type sur la machine.

Les principales responsabilités d’un pilote de bus sont les suivantes:

  • Énumérer les périphériques sur son bus.
  • Répondez aux IRP Plug and Play et aux IRP de gestion de l’alimentation.
  • Accès multiplex au bus (pour certains bus).
  • Administrer de manière générique les périphériques sur son bus.

Les chauffeurs de bus sont essentiellement des pilotes de fonction qui énumèrent également les enfants.

Filter driver

Les pilotes de filtre sont des pilotes facultatifs qui ajoutent de la valeur ou modifient le comportement d’un périphérique. Un pilote de filtre peut desservir un ou plusieurs périphériques.

Bus Filter Drivers

Les pilotes de filtre de bus apportent généralement une valeur ajoutée à un bus et sont fournis par Microsoft ou un OEM du système. Les pilotes de filtres de bus sont facultatifs. Il peut y avoir un nombre quelconque de pilotes de filtre de bus pour un bus.
Un pilote de filtre de bus peut, par exemple, implémenter des améliorations propriétaires au matériel de bus standard.

Lower-Level Filter Drivers

Les pilotes de filtre de niveau inférieur modifient généralement le comportement du matériel du périphérique. Ils sont généralement fournis par les IHV et sont facultatifs. Il peut y avoir un nombre quelconque de pilotes de filtre de niveau inférieur pour un périphérique.

Un pilote de filtre de périphérique de niveau inférieur surveille et / ou modifie les demandes d’E / S adressées à un périphérique particulier. En règle générale, ces filtres redéfinissent le comportement du matériel en fonction des spécifications attendues.

Un pilote de filtre de classe inférieur contrôle et / ou modifie les demandes d’E / S pour une classe de périphériques. Par exemple, un pilote de filtre de classe de niveau inférieur pour les périphériques de souris pourrait fournir une accélération, en effectuant une conversion non linéaire des données de mouvement de la souris.

Upper-Level Filter Drivers

Les pilotes de filtre de niveau supérieur fournissent généralement des fonctionnalités à valeur ajoutée pour un périphérique. Ces pilotes sont généralement fournis par les IHVs et sont facultatifs. Il peut y avoir un nombre quelconque de pilotes de filtre de niveau supérieur pour un périphérique.

Un pilote de filtre de périphérique de niveau supérieur ajoute de la valeur à un périphérique particulier. Par exemple, un pilote de filtre de périphérique de niveau supérieur pour un clavier peut imposer des contrôles de sécurité supplémentaires.

Un pilote de filtre de classe supérieur ajoute de la valeur pour tous les périphériques d’une classe particulière.

La figure suivante illustre la relation entre le pilote de bus, le pilote de fonction et les pilotes de filtre pour un périphérique.

Chaque périphérique est généralement doté d’un pilote de bus pour le bus d’E / S parent, d’un pilote de fonction pour le périphérique et de zéro ou plusieurs pilotes de filtre pour le périphérique. Une conception de pilote nécessitant de nombreux pilotes de filtre ne permet pas d’obtenir des performances optimales.

Résumé des différents pilotes

  1. Un pilote de bus dessert un contrôleur de bus, un adaptateur ou un pont. Les pilotes de bus sont obligatoires, il y a un pilote de bus pour chaque type de bus sur une machine. Microsoft fournit des pilotes de bus pour la plupart des bus courants. Les IHV et les OEM peuvent fournir d’autres chauffeurs de bus.
  2. Un pilote de filtre de bus ajoute généralement de la valeur à un bus et est fourni par Microsoft ou un OEM du système. Il peut y avoir un nombre quelconque de pilotes de filtre de bus pour un bus.
  3. Les pilotes de filtre de niveau inférieur modifient généralement le comportement du matériel du périphérique. Ils sont optionnels et sont généralement fournis par les IHV. Il peut y avoir un nombre quelconque de pilotes de filtre de niveau inférieur pour un périphérique.
  4. Un pilote de fonction est le pilote principal d’un périphérique. Un pilote de fonction est généralement écrit par le fournisseur du périphérique et est requis (sauf si le périphérique est utilisé en mode brut ).
  5. Les pilotes de filtre de niveau supérieur fournissent généralement des fonctionnalités à valeur ajoutée pour un périphérique. Ils sont optionnels et sont généralement fournis par les IHV.

Software drivers

Certains pilotes ne sont associés à aucun périphérique matériel. Par exemple, supposons que vous deviez écrire un outil ayant accès aux structures de données du système d’exploitation principal, accessible uniquement à l’aide d’un code exécuté en mode noyau. Vous pouvez le faire en divisant l’outil en deux composants. Le premier composant s’exécute en mode utilisateur et présente l’interface utilisateur. Le second composant s’exécute en mode noyau et a accès aux données du système d’exploitation principal. Le composant qui s’exécute en mode utilisateur est appelé une application et le composant qui s’exécute en mode noyau s’appelle un pilote logiciel. Un pilote logiciel n’est pas associé à un périphérique matériel.

Ce diagramme illustre une application en mode utilisateur communiquant avec un pilote logiciel en mode noyau.

Source: https://docs.microsoft.com

Partager

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *