A- Le SGF de Linux : Ext2FS

Linux est un système d'exploitation qui s'apparente fort à Unix, tout en étant un logiciel libre. Le système de fichier initial était dérivé de celui du système Minix, lui aussi dérivé d'Unix pour l'enseignement. Trop contraignant, celui-ci a été remplacé par un nouveau système de gestion de fichiers : Ext2FS.

Structure du système

Pour le SGF Ext2FS, tout est fichier. Ainsi, tous les systèmes de fichiers, quels que soient leur emplacement physique, doivent être intégrés dans l'UNIQUE arborescence logique du système Linux.
Cette arborescence peut donc être construite (et évoluer) à partir de diverses partitions qui peuvent être situées sur plusieurs disques.
Les fichiers ne sont pas typés.

Le processus de montage est le moyen de faire correspondre parties de l'arborescence et partitions physiques de disques. Il permet de plus d'affecter tout système extérieur (disquette, cdrom,  rép. réseau ...) à un répertoire créé pour cela dans l'arborescence.
Il suffira ensuite de se déplacer vers ce répertoire, appelé point de montage, en fait un répertoire "d'accrochage", pour accéder à ses fichiers (conformément aux permissions que possède l'utilisateur ).

Si tout est fichier, on distingue cependant 4 catégories :

Les descripteurs de fichiers

L'ensemble du disque est découpé en blocs dont la taille est une puissance de 2 de la taille d'un secteur. Ext2fs pratique l'allocation par bloc de taille fixe. Les descripteurs d'objets externes sont représentés dans ce qui est appelé inode. Ces inodes sont regroupées dans une table, l'indice dans la table, appelé le numéro de l'inode (i pour integer), identifiant de façon unique cet objet. Une table bitmap décrit l'état d'allocation des inodes, et une autre décrit l'état d'allocation des blocs. Pour des raisons de performances, en particulier sur les gros disques, ces tables sont morcelées et réparties dans la partition.
Une partition est découpée en groupes de même taille, chaque groupe comportant 6 parties:
Le super bloc et la liste des descripteurs de groupe sont donc répétés au début de chaque groupe, pour des raisons de fiabilité. Lors du montage, on ne lit en fait que ceux du premier groupe. Cette séparation en groupes doit plus être vue comme une répartition des données sur le disque, dans le but d'améliorer les performances. La taille d'un groupe est d'ailleurs limitée, puisque chaque table bitmap d'un groupe doit tenir dans un seul bloc. Si la taille de la partition est importante, il y aura beaucoup de groupes.
Les groupes ont pour but de rapprocher dans un espace physique proche les informations qui sont reliées entre elles. Ainsi, lors de l'allocation d'une inode, on cherchera de préférence dans le groupe du répertoire où elle est référencée; de même, lors de l'allocation d'un bloc, on cherchera d'abord le bloc qui suit le dernier alloué à l'objet, puis dans son voisinage immédiat, puis dans le même groupe et enfin dans les autres groupes.
Un descripteur d'objet externe contient évidemment le type de l'objet, des informations pour sa protection, sa longueur, les dates habituelles de création, modification, accès et destruction, ainsi que les informations de localisation du contenu. La taille d'un objet externe est limité à 2 Go, mais la taille d'une partition peut atteindre 4 To.

Les Répertoires

Ext2fs gère une arborescence de fichiers. Le contenu d'un répertoire étant une liste d'entrées constituées de couples <inode, nom>, le nom étant limité à 255 caractères. Les deux premières entrées d'un répertoire sont les entrées "." et ".." habituelles. Il est possible d'avoir plusieurs noms ou chemins d'accès pour le même inode. Ceci a pour conséquence que la suppression d'une entrée dans un répertoire n'entraîne pas obligatoirement la suppression de l'inode correspondant. Celle-ci ne sera effective que s'il n'existe plus d'entrée associée à cette inode dans aucun répertoire. En dehors de la suppression d'une entrée dans un répertoire, qui n'affecte donc que cette entrée, toutes les autres opérations effectuées par l'un des chemins aura les mêmes répercutions par l'autre.
Ce système permet aussi la création de liens symboliques. Dans ce cas, il s'agit de créer un objet externe (avec inode et contenu), du type lien symbolique, et dont le contenu sera le chemin d'accès à l'objet relié. Dans ce cas, la recherche de l'objet externe relié implique la réévaluation du chemin d'accès.
Certains répertoires sont natifs à Ext2FS et ont un rôle bien spécifique. Ceux-ci sont détaillés ici.

 

retour