La caractéristique principale du système de fichiers Unix est d’offrir une vision uniforme à l’utilisateur malgré la diversité des types d’éléments qu’il regroupe: répertoires, fichiers (traditionnels ou ordinaires) et fichiers spéciaux représentant les périphériques. Cette uniformité est assurée grâce à la notion d’inode qui est une structure de 128 octets servant de descripteur pour toute entrée du système de fichiers. Chaque inode possède un numéro (unique). Comme ce sont des données décrivant des données, les inodes sont appelées des méta-données. Les méta-données sont la carte d’identité des entrées de l’arborescence. Un inode contient notamment le type de l’entrée repérée (fichier, répertoire...), l’identité du propriétaire (avec son groupe) de l’entrée, les droits d’accès (en lecture, en modification...) de l’entrée, la taille de l’entrée.

Pour pouvoir stocker des informations sur un support magnétique tel qu’un disque, celui-ci doit d’abord être découpé en partitions (ou disques virtuels), chacune étant alors utilisée comme un disque à part entière et se présentant comme une suite de N blocs numérotés de 0 à N-1. Pour stocker des données sur une partition, il faut y créer un système de fichiers. Cette opération a pour objet de distinguer quatre zones sur le disque et d’y créer un répertoire racine:

  1. Le premier bloc (bloc 0) est réservé pour contenir un programme chargeur (amorce ou boot en anglais) qui sert au démarrage du système. Bien que seule la partition de démarrage contenant le programme du système d’exploitation ait besoin de cette amorce, le bloc 0 de chaque système de fichiers est réservé pour des raisons d’homogénéité.
  2. Le bloc suivant (bloc 1), appelé « super-bloc », sert de descripteur du système de fichiers. Il est pour un système de fichiers l’équivalent de l’inode pour un fichier. Il contient les caractéristiques du système de fichiers telles que son nom, la date de mise à jour, la taille des blocs... S’y trouvent également des informations de gestion telles que le début des listes d’inodes et de blocs libres.
  3. Un certain nombre de blocs à partir du numéro 2 sont réservés pour contenir la liste des inodes. Ce nombre d’inodes détermine le nombre maximal de fichiers que peut contenir ce système de fichiers.
  4. Les blocs suivants (du premier bloc après la liste des inodes jusqu’au dernier) servent pour stocker les blocs de données.

Pour résumer, par analogie, le super-bloc décrit les propriétés d’un classeur, les blocs inodes forment l’index du classeur, les blocs de données le contenu du classeur, et enfin, le bloc d’amorce indique la première page du classeur (qui n’est pas obligatoirement la première page physique).

Par conséquent, un système de fichiers peut être saturé de deux manières, soit par manque de blocs de données libres, soit par manque de blocs d’inodes. Le nombre maximal de fichiers est le nombre maximal d’inodes. Ce nombre est fixé à la création du système de fichier, c.-à-d. au formatage de la partition ; il est généralement égal au nombre maximal de blocs de la partition divisé par quatre (historiquement, il a été considéré qu’en moyenne, un fichier n’avait pas besoin de plus de quatre blocs de données). Enfin, Unix permet la création de fichiers vides: il suffit de créer un inode seul sans lui associer de données.  
 
Retour à la page de cours