Un pilote de périphérique est un logiciel qui exploite ou contrôle un type particulier d'appareil. Sur les systèmes d'exploitation à noyau monolithique modernes, ceux-ci font généralement partie du noyau. De nombreux noyaux monolithiques, y compris Linux, ont une conception modulaire, permettant aux modules exécutables d'être chargés au moment de l'exécution. Les pilotes de périphérique utilisent couramment cette fonctionnalité, bien que rien n'empêche la compilation des pilotes de périphérique dans l'image du noyau.
Un fichier de périphérique est une interface pour un pilote de périphérique qui apparaît dans un système de fichiers comme s'il s'agissait d'un fichier ordinaire. Dans les systèmes d'exploitation de type Unix, ceux-ci se trouvent généralement sous le /dev
répertoire et sont également appelés nœuds de périphérique . Un fichier de périphérique peut représenter des périphériques de caractères , qui émettent un flux de données un caractère à la fois, ou bloquent les appareils qui permettent un accès aléatoire à des blocs de données.
Les nœuds de périphérique sont créés par le mknod
appel système. La ressource noyau exposée par le nœud de périphérique est identifiée par un nombre majeur et mineur. Généralement, le numéro majeur identifie le pilote de périphérique et le numéro mineur identifie un périphérique particulier contrôlé par le pilote.
Ce que le fichier de périphérique semble contenir dépend de ce que les pilotes de périphérique exposent via le fichier de périphérique. Par exemple, le fichier de périphérique de caractères qui représente la souris, /dev/input/mice
expose le mouvement de la souris comme un flux de caractères, alors que le fichier de périphérique bloc représentant un disque dur, tel que /dev/sda
, expose les régions adressables de la mémoire de l'appareil. Certains fichiers de périphériques acceptent également des entrées, permettant aux applications de l'espace utilisateur de communiquer avec le périphérique en écrivant dans son fichier de périphérique.