pilotes de périphériques font partie du noyau, en particulier le sous-système IO du noyau. Au niveau le plus bas, les pilotes de périphériques communiquent directement avec les périphériques ou leurs contrôleurs ou canaux. Un pilote de périphérique est responsable du démarrage des opérations d'E/S sur un périphérique et du traitement de l'achèvement d'une demande d'E/S. Par exemple, dans les opérations sur les fichiers, les périphériques typiques contrôlés sont les unités de disque et de bande.
Les pilotes de périphériques peuvent être extraits en couches logiques et physiques. Les couches logiques traitent les données pour une classe de périphériques tels que les ports Ethernet ou les unités de disque. Les couches physiques communiquent avec des instances de périphérique spécifiques.
Par exemple, un port série doit gérer les protocoles de communication standard communs à tout le matériel du port série. Ceci serait géré par une couche logique de port série. Cependant, la couche physique doit communiquer avec une puce de port série particulière. La couche physique traite les variations spécifiques à la puce. Classiquement, les demandes d'OS vont d'abord à la couche logique. À son tour, la couche logique appelle la couche physique pour implémenter les demandes de système d'exploitation dans des termes compréhensibles par le matériel. Inversement, lorsqu'un périphérique matériel doit répondre au système d'exploitation, il utilise la couche physique pour parler à la couche logique.
Un pilote de périphérique logique spécifique à un périphérique doit être nécessaire pour interfacer le nouveau matériel avec le contrôleur d'E/S standard du système d'exploitation hôte.