types de périphériques
100%

Périphériques · Leçon 2

types de périphériques

Apprenez à distinguer les nœuds caractère et bloc des tubes, sockets et objets ordinaires du système de fichiers.

Le premier caractère du mode affiché par ls -l indique le type d'objet du système de fichiers. Sous /dev, les fichiers spéciaux caractère et bloc sont des nœuds de périphériques. Des tubes et des sockets Unix peuvent aussi s'y trouver, mais ce sont des objets de communication interprocessus, pas des nœuds matériels.

$ ls -l /dev/null /dev/sda /run/systemd/journal/dev-log /tmp/example-fifo
crw-rw-rw- 1 root root 1, 3 ... /dev/null
brw-rw---- 1 root disk 8, 0 ... /dev/sda
srw-rw-rw- 1 root root      ... /run/systemd/journal/dev-log
prw------- 1 user user      ... /tmp/example-fifo

Les entrées et permissions dépendent du système ; cet exemple illustre uniquement les caractères de type.

Nœuds de périphériques caractère

Un c indique un périphérique caractère. Il expose généralement une interface orientée flux ou propre au périphérique, plutôt qu'un stockage adressable en blocs de taille fixe. Les terminaux et les pseudo-périphériques comme /dev/null en sont des exemples.

Le terme « caractère » ne signifie pas que chaque appel système transfère exactement un caractère. Les applications peuvent lire ou écrire des tampons, tandis que le pilote définit le blocage, le cadrage et les opérations de contrôle.

Quel premier caractère de mode désigne un nœud de périphérique caractère ?

Nœuds de périphériques bloc

Un b indique un périphérique bloc. Ces périphériques fournissent un stockage adressable par blocs au travers de la couche bloc du noyau et prennent en charge des opérations comme les E/S avec tampon, le partitionnement et les systèmes de fichiers. Disques, partitions et volumes logiques possèdent couramment des nœuds bloc.

Un nœud bloc n'est pas un système de fichiers monté. Il représente un périphérique de stockage ou une région logique ; un système de fichiers peut y être créé puis monté séparément. Écrire des données brutes dans le mauvais nœud peut détruire des tables de partitions, des systèmes de fichiers ou des données utilisateur.

Que signifie le premier caractère de mode b ?

FIFO et nœuds de sockets

Un p désigne une FIFO, ou tube nommé. Elle fournit un flux d'octets nommé par lequel des processus communiquent. Après leur consommation, les données ne sont pas stockées durablement dans le nœud.

Un s désigne un nœud de socket de domaine Unix. Il nomme un point de terminaison local et peut offrir des communications connectées ou par datagrammes, le passage de descripteurs et des informations d'identification des pairs. Les sockets réseau à adresses Internet n'ont pas nécessairement de nœud dans le système de fichiers.

Ni les FIFO ni les sockets Unix n'utilisent de numéros majeur et mineur pour sélectionner un pilote matériel.

Quelle affirmation distingue correctement ces types d'objets de communication ?

Numéros majeur et mineur

Les nœuds caractère et bloc stockent un numéro de périphérique divisé en parties majeure et mineure. Dans une liste longue, ils remplacent la colonne habituelle de taille :

brw-rw---- 1 root disk 8, 0 ... /dev/sda

Cette paire indique au noyau l'interface enregistrée et l'instance auxquelles le nœud s'adresse. Le numéro majeur est associé à un pilote ou une classe, et le pilote interprète le numéro mineur. Ne figez pas d'hypothèse telle que « le mineur zéro désigne toujours le premier disque » : la correspondance dépend du sous-système et des interfaces du noyau.

Affichez explicitement le type et les numéros avec :

$ stat -c 'type=%F major=%t minor=%T path=%n' /dev/null

GNU stat affiche les valeurs %t et %T en hexadécimal.

Quels objets utilisent des numéros majeur et mineur pour identifier une interface de périphérique du noyau ?

Leçon terminée

Vous avez terminé types de périphériques

Vous savez maintenant interpréter les types spéciaux du système de fichiers sans tous les prendre pour des périphériques matériels.

  • Lire c comme nœud caractère et b comme nœud bloc.

  • Lire p comme FIFO et s comme socket Unix.

  • Associer les numéros majeur et mineur aux seuls nœuds de périphériques.

  • Considérer l'accès brut aux périphériques bloc comme potentiellement destructeur.

Conservez votre progression

Créez un compte gratuit pour enregistrer cette leçon et continuer sur n'importe quel appareil.

Créer un compte gratuit
Leçon Suivante
Retour à Périphériques