/dev

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page /dev and the translation is 100% complete.

Le répertoire /dev

La plupart des utilisateurs de Linux savent que /dev/sda1 est un moyen rapide de référencer la première partition du premier disque dur détecté par le noyau. C'est facile, non ?

Mais considérez des périphériques connectables à chaud comme USB, IEEE 1394, ou les périphériques PCI commutables à chaud, etc. Quel est le premier périphérique ? Et pour combien de temps ? Comment les autres périphériques seront-ils nommés quand le premier disparaîtra ? Comment cela affectera-t-il les opérations en cours ? Cela serait-t-il amusant si une tâche d'impression est tout à coup déplacée d'une toute nouvelle imprimante laser vers une quasi-moribonde imprimante à matrice parce que quelqu’un aura tiré sur le cordon d'alimentation de l'imprimante laser (qui était justement la première imprimante) ?

Entrez dans le gestionnaire de périphériques. Un gestionnaire de périphérique moderne doit :

  • Fonctionner dans l'espace utilisateur.
  • Créer et supprimer des fichiers de périphérique de manière dynamique.
  • Assurer un nommage cohérent.
  • Fournir une API dans l'espace utilisateur.

À chaque fois qu'une modification de la structure des périphériques se produit, le noyau génère un événement uevent qui est intercepté par le gestionnaire de périphériques. Ce dernier suit alors les règles déclarées dans les répertoires /etc/udev/rules.d, /run/udev/rules.d et /lib/udev/rules.d. En se basant sur les informations contenues dans l'événement uevent, il trouve l'ensemble de règles dont il a besoin pour déclencher et accomplir les actions requises. Ces actions peuvent créer ou supprimer des fichiers de périphérique, mais aussi déclencher le chargement de micro-logiciels particuliers dans la mémoire du noyau.