L’astérisque à la fin du titre signifie que ce contenu est difficile. C’est un contenu d’approfondissement. Ne l’étudiez pas en détail avant de maîtriser les autres points de la section ! Nous le fournissons pour raison de complétude.

Les périphériques. Unix offre à l’utilisateur une vision uniforme des entrées-sorties en attribuant un nom dans l’arborescence du système de fichiers à tous les périphériques, ce qui leur confère les mêmes attributs qu’aux fichiers. Sous GNU/Linux, le répertoire /dev (devices) est prévu pour contenir toutes les entrées des périphériques. Il est possible d’en repérer certains: par exemple les entrées commençant fd pour floppy disk servaient pour les lecteurs de disquettes, les entrées commençant par sd servent à repérer les disques connectés par une interface SCSI. Le système d’exploitation effectue un aiguillage interne soit vers le système de fichiers, soit vers les pilotes12 de périphériques, en distinguant en outre deux modes d’utilisation (bloc et caractère). Ainsi, les pilotes de périphériques sont référencés dans deux tables du noyau: la table bdevsw (block device software) pour ceux du mode bloc et la table cdevsw (character device software) pour ceux du mode caractère. À la place des adresses, l’inode d’un périphérique contient deux entiers qui sont le majeur (major number) et le mineur (minor number). Le majeur sert d’index dans l’une des tables afin de sélectionner le pilote du périphérique concerné. Un pilote de périphérique pouvant gérer plusieurs unités du même type, par exemple plusieurs écrans ou plusieurs disques, le mineur permet de caractériser l’unité particulière du type de périphérique concerné.

Parmi les périphériques en mode bloc, on trouve principalement les disques physiques, les partitions, les bandes magnétiques, les disquettes, les clefs USB... Le mode bloc signifie que les données transférées entre le disque et la mémoire centrale s’effectuent par bloc de données. Le système d’exploitation garde la mémoire des données qu’il a lues. La lecture d’une information peut donc ne pas conduire à un accès au périphérique mais seulement à une copie de mémoire à mémoire. Périodiquement, la primitive sync du système d’exploitation recopie sur le disque toutes les informations modifiées de façon à garantir le maximum de cohérence entre la vision de l’utilisateur de la mémoire centrale et le stockage physique en mémoire secondaire. Malgré cela, il peut arriver qu’en cas de coupure de courant par exemple, il y ait incohérence. Aussi, lors du démarrage du système d’exploitation, si celui-ci s’aperçoit qu’il y a eu arrêt brutal de la machine, donc potentiellement des incohérences, la commande fsck (file system check) teste et rétablit si possible automatiquement la cohérence.

Les principaux périphériques en mode caractère sont les claviers, les écrans, les imprimantes, les lignes de communication...

Les pseudo-périphériques. Le terme pseudo-périphérique qualifie des entrées qui sont gérées comme des périphériques donc par des pilotes bien qu’elles ne soient pas associées à des éléments physiques. On distingue deux catégories de pseudo-périphériques, ceux associés à des périphériques virtuels et d’autres liés à des fonctionnalités du système d’exploitation.

Un périphérique virtuel correspond à une partie d’un périphérique physique et les principaux sont les écrans virtuels (aussi appelés bureaux) et les partitions (ou disques logiques). Un terminal virtuel correspond à une fenêtre dans un environnement multifenêtre ou à une connexion distante via un réseau local. Une partition correspond à une partie d’un disque; les disques physiques sont divisés en disques logiques pour des raisons de performance: moins d’inodes donc recherche d’un inode plus rapide.

Tous les systèmes de fichiers disposent de quatre pseudo-périphériques standards, groupés comme les périphériques sous /dev. Parmi les pseudo-périphériques, vous verrez le plus souvent ceux appelés null et tty. L’élément null sert de poubelle. Attention! ce n’est pas la poubelle montrée par l’icône correspondant en fond d’écran de la session; comme dans Windows, cette dernière garde une copie jusqu’à ce qu’elle soit vidée, contrairement à /dev/null! Les éléments commençant par tty permettent de repérer les terminaux.

 
 
Retour à la page de cours

12.Terme générique désignant les programmes du système d’exploitation gérant un type donné de périphérique.