La notion de fichiers spéciaux est une notion très importante dans la mesure où ce sont les fichiers spéciaux qui permettent au système linux d’accéder aux différents composants matériels (périphériques) de l’ordinateur.
Comment ça ?
Eh bien voyons clairement les choses.
La majorité des opérations qu’on effectue sur les périphériques ne sont rien d’autres que des écritures
et lectures. Or écrire sur un fichier spécial d’un périphérique, permet d’enregistrer les données
concernant ce périphérique. Et la lecture de ces données permet de les récupérer. Par exemple si on
écrit des données sur le fichier spécial du disque, cela permet d’enregistrer des données sur le
disque. Ouvrir un fichier mp3 pour l’écouter cela revient à écrire sur le fichier spécial de la
carte son. De même que la communication entre la livebox se fait en écrivant et en lisant les
données sur le fichier spécial du port auquel elle est connectée.
Donc ainsi quand le système a besoin de communiquer avec un périphérique, il doit passer par son
fichier spécial.
Il existe deux types de fichiers spéciaux :
Le contenu des fichiers en mode bloc sont généralement gardé en mémoire, ce qui n’est pas le cas des fichiers en mode caractère.
Les périphériques qu’on peut monter (mounter), comme par exemple les périphériques de stockage, peuvent être accédés en mode bloc et en mode caractère. Les périphériques qu’on ne peut pas monter, ne sont accessibles qu’en mode caractère.
Un fichier spécial contient deux numéros uniques qui permettent au noyau d'associer les bonnes opérations aux bons périphériques :
Les fichiers spéciaux sont créés par le système ou les périphériques. Vous pouvez vous-même vous amuser à en créer. Ils sont créés avec les commandes insf , mksf , et mknod . Ils sont logés sur le repertoire /dev (comme devices = périphériques).
Au démarrage de l’ordinateur, le système identifie les différents périphériques connectés et crée automatique des fichiers spéciaux pour ces périphériques.