skip to Main Content
 Lyon + 33 (0)4 28 04 01 48

Comprendre les systèmes de fichiers

Actuellement, le marché de l’informatique offre une grande variété de possibilités pour le stockage d’informations sous forme numérique. Les dispositifs de stockage existants comprennent les disques durs internes et externes, les cartes mémoire des appareils photo/vidéo, les lecteurs flash USB, les systèmes RAID complexes, entre autres. Des données y sont conservées sous forme de fichiers, comme des documents, des photos, des bases de données, des messages électroniques, etc. qui doivent être organisés efficacement sur le disque et facilement retrouvés en cas de besoin.

L’article suivant donne un aperçu général du système de fichiers, le principal moyen de gestion des données sur tout stockage et décrit les particularités des différents types de systèmes de fichiers.

Qu'est-ce qu'un système de fichiers ?

Tout fichier informatique est stocké sur un support de stockage d’une capacité donnée. En fait, chaque stockage est un espace linéaire pour la lecture ou à la fois la lecture et l’écriture d’informations numériques. Chaque octet d’information qu’il contient a son décalage par rapport au début du stockage connu sous le nom d’adresse et est référencé par cette adresse. Une mémoire peut être présentée sous la forme d’une grille avec un ensemble de cellules numérotées (chaque cellule est un octet unique). Tout fichier enregistré dans la mémoire reçoit ses propres cellules.

En général, les stockages informatiques utilisent la paire d’un secteur et d’un décalage intrasectoriel pour référencer tout octet d’information sur le stockage. Un secteur est un groupe d’octets (généralement 512 octets), une unité minimale adressable du stockage physique. Par exemple, l’octet 1040 sur un disque dur sera référencé comme un secteur n°3 et décalé dans le secteur 16 octets ([secteur]+[secteur]+[16 octets]). Ce schéma est appliqué pour optimiser l’adressage du stockage et pour utiliser un nombre plus petit pour faire référence à toute portion d’information située sur le stockage.

Pour omettre la deuxième partie de l’adresse (décalage dans le secteur), les fichiers sont généralement stockés à partir du début du secteur et occupent des secteurs entiers (par exemple : un fichier de 10 octets occupe tout le secteur, un fichier de 512 octets occupe également tout le secteur, en même temps, un fichier de 514 octets occupe deux secteurs entiers).

Chaque fichier est stocké dans des secteurs « inutilisés » et peut être lu ultérieurement par sa position et sa taille connues. Cependant, comment savoir quels secteurs sont occupés et lesquels sont libres ? Où sont stockés la taille, la position et le nom du fichier ? C’est exactement ce dont le système de fichiers est responsable.

Dans son ensemble, un système de fichiers est une représentation structurée des données et un ensemble de métadonnées décrivant ces données. Il est appliqué au stockage lors de l’opération de formatage. Un système de fichiers sert à l’ensemble du stockage et fait également partie d’un segment de stockage isolé – une partition de disque. Habituellement, un système de fichiers fonctionne par blocs et non par secteurs. Les blocs de systèmes de fichiers sont des groupes de secteurs qui optimisent l’adressage du stockage. Les systèmes de fichiers modernes utilisent généralement des blocs de 1 à 128 secteurs (512-65536 octets). Les fichiers sont généralement stockés au début d’un bloc et occupent des blocs entiers.

Des opérations d’écriture/suppression constantes dans le système de fichiers provoquent sa fragmentation. Ainsi, les fichiers ne sont pas stockés comme des unités entières, mais sont divisés en fragments. Par exemple, un stockage est entièrement occupé par des fichiers de la taille d’environ 4 blocs chacun (par exemple, une collection de photos). Un utilisateur veut stocker un fichier qui occupera 8 blocs et supprime donc le premier et le dernier fichier. Ce faisant, il libère l’espace de 8 blocs, cependant, le premier segment est situé près du début du stockage tandis que le second – à la fin du stockage. Dans ce cas, le fichier de 8 blocs est divisé en deux parties (4 blocs pour chaque partie) et prend des « trous » d’espace libre. Les informations sur les deux fragments en tant que parties d’un seul fichier sont stockées dans le système de fichiers.

En plus des fichiers de l’utilisateur, le système de fichiers contient également ses propres paramètres (tels que la taille du bloc), des descripteurs de fichiers (y compris la taille du fichier, l’emplacement du fichier, ses fragments, etc. Il peut également stocker des informations de sécurité, des attributs étendus et d’autres paramètres).

Pour répondre aux diverses exigences des utilisateurs, telles que la performance, la stabilité et la fiabilité du stockage, de nombreux systèmes de fichiers sont développés pour pouvoir servir plus efficacement différents objectifs.

Systèmes de fichiers de Windows

Microsoft Windows utilise deux grands systèmes de fichiers : NTFS, le format primaire que les versions les plus modernes de ce système d’exploitation utilisent par défaut, et FAT, qui a été hérité de l’ancien DOS et dont l’extension ultérieure est exFAT. En outre, le système de fichiers ReFS a été développé par Microsoft comme un système de fichiers de nouvelle génération pour les ordinateurs serveurs à partir de Windows Server 2012.

FAT

Le FAT (File Allocation Table) est l’un des types de systèmes de fichiers les plus simples, qui existe depuis les années 1980. Il se compose du secteur descripteur du système de fichiers (secteur d’amorçage ou superbloc), du tableau d’allocation des blocs du système de fichiers (appelé tableau d’allocation des fichiers) et de l’espace de stockage ordinaire pour le stockage des fichiers et des dossiers. Les fichiers en FAT sont stockés dans des répertoires. Chaque répertoire est un tableau d’enregistrements de 32 octets, chacun définissant un fichier ou des attributs étendus d’un fichier (par exemple un long nom de fichier). Un enregistrement de fichier attribue le premier bloc d’un fichier. Tout bloc suivant peut être trouvé dans le tableau d’attribution des blocs en l’utilisant comme une liste liée.

Le tableau d’attribution des blocs contient un tableau de descripteurs de blocs. Une valeur nulle indique que le bloc n’est pas utilisé et une valeur non nulle se rapporte au bloc suivant d’un fichier ou à une valeur spéciale pour la fin du fichier.

Les nombres dans FAT12, FAT16, FAT32 représentent le nombre de bits utilisés pour énumérer un bloc de système de fichiers. Cela signifie que FAT12 peut utiliser jusqu’à 4096 références de bloc différentes, tandis que FAT16 et FAT32 peuvent utiliser jusqu’à 65536 et 4294967296 en conséquence. Le nombre maximum réel de blocs est encore plus faible et dépend de l’implémentation du pilote du système de fichiers.

Les FAT12 et FAT16 étaient autrefois appliquées aux anciennes disquettes et ne trouvent plus beaucoup d’emploi de nos jours. La FAT32 est encore largement utilisée pour les cartes à mémoire et les clés USB. Le système est pris en charge par les smartphones, les appareils photo numériques et d’autres dispositifs portables.

FAT32 peut être utilisé sur des stockages externes compatibles avec Windows ou sur des partitions de disque d’une taille inférieure à 32 Go (Windows ne peut pas créer un système de fichiers FAT32 dont la taille serait supérieure à 32 Go, bien que Linux supporte la taille jusqu’à 2 To) et ne permet pas de créer des fichiers dont la taille dépasse 4 Go. Pour résoudre ce problème, le système exFAT a été introduit, qui n’a pas de limites réalistes concernant la taille des fichiers ou des partitions.

NTFS

NTFS (New Technology File System) a été introduit en 1993 avec Windows NT et est actuellement le système de fichiers le plus courant pour les ordinateurs des utilisateurs finaux basés sur Windows. La plupart des systèmes d’exploitation de la gamme Windows Server utilisent également ce format.

Le système de fichiers est assez fiable grâce à la journalisation et supporte de nombreuses fonctionnalités, dont le contrôle d’accès, le cryptage, etc. Chaque fichier en NTFS est stocké sous la forme d’un descripteur de fichier dans la table des fichiers maîtres et le contenu du fichier. La table des fichiers maîtres contient des entrées avec toutes les informations sur les fichiers : taille, allocation, nom, etc. Les 16 premières entrées de la table des fichiers maîtres sont conservées pour le BitMap. Celui-ci enregistre tous les clusters libres et utilisés, le Log utilisé pour les enregistrements de journal et le BadClus contenant des informations sur les mauvais clusters. Le premier et le dernier secteur du système de fichiers contiennent les paramètres du système de fichiers (l’enregistrement de démarrage ou le superbloc). Ce système de fichiers utilise des valeurs de 48 et 64 bits pour référencer les fichiers pouvant ainsi supporter des stockages de données d’une capacité extrêmement élevée.

ReFS

ReFS (Resilient File System) est le dernier développement de Microsoft introduit avec Windows 8 et maintenant disponible pour Windows 10. L’architecture du système de fichiers diffère absolument des autres systèmes de fichiers Windows et est principalement organisée sous la forme de l’arbre B+. ReFS a une grande tolérance aux défaillances en raison des nouvelles fonctionnalités incluses dans le système. Et, à savoir, le Copy-on-Write (CoW) : aucune métadonnée n’est modifiée sans être copiée ; les données ne sont pas écrites sur les données existantes, mais dans un nouvel espace disque. Lors de toute modification de fichier, une nouvelle copie des métadonnées est stockée dans l’espace de stockage libre, puis le système crée un lien entre les anciennes métadonnées et les nouvelles. Ainsi, le système stocke une quantité importante d’anciennes sauvegardes à différents endroits, ce qui permet de récupérer facilement les fichiers, à moins que cet espace de stockage ne soit écrasé.

Les informations concernant les perspectives de récupération des données de ces systèmes de fichiers peuvent être trouvées dans notre article Chances de récupération. Pour des instructions et des recommandations détaillées, veuillez consulter cette page.

Systèmes de fichiers de macOS

Le système MacOS d’Apple applique deux systèmes de fichiers : HFS+, une extension de leur propre système de fichiers HFS utilisé sur les anciens ordinateurs Macintosh, et APFS, qui vient de sortir.

HFS+

HFS+ était le principal système de fichiers des produits de bureau Apple, y compris les ordinateurs Mac, les iPods, ainsi que les produits Apple X Server avant qu’il ne soit remplacé par APFS dans macOS High Sierra. Les produits serveurs avancés utilisent également le système de fichiers Apple Xsan, un système de fichiers en grappe dérivé de StorNext et CentraVision.

Le système de fichiers HFS+ utilise des arbres B pour placer et localiser les fichiers. Les volumes sont divisés en secteurs, généralement d’une taille de 512 octets, qui sont ensuite regroupés en blocs d’allocation, dont le nombre dépend de la taille du volume entier. Les informations concernant les blocs d’allocation libres et utilisés sont conservées dans le fichier d’allocation. Tous les blocs d’allocation attribués à chaque fichier en tant que des extensions sont enregistrés dans le fichier de débordement des extensions. Enfin, tous les attributs des fichiers sont répertoriés dans le fichier des attributs. La fiabilité des données est améliorée grâce à la journalisation qui permet de suivre toutes les modifications apportées au système et de le remettre rapidement en état de marche en cas d’événements imprévus. Parmi les autres fonctionnalités prises en charge, citons les liens en dur vers les répertoires, le cryptage des volumes logiques, le contrôle d’accès, la compression des données, etc.

APFS

Le système de fichiers Apple vise à résoudre les problèmes fondamentaux de son prédécesseur et a été développé pour fonctionner efficacement avec les mémoires flash et les disques durs modernes. Ce système de fichiers 64 bits utilise la méthode de copie en écriture pour augmenter les performances, ce qui permet de copier chaque bloc avant que les modifications qui lui sont apportées ne soient appliquées, et offre de nombreuses fonctionnalités d’intégrité des données et de gain de place. Tout le contenu des fichiers et les métadonnées concernant les fichiers, les dossiers ainsi que les autres structures APFS sont conservés dans le conteneur APFS. Le Superbloc du conteneur stocke des informations sur le nombre de blocs dans le conteneur, la taille des blocs, etc. Les informations sur tous les blocs alloués et libres du conteneur sont gérées à l’aide de structures bitmap. Chaque volume du conteneur possède son propre super-bloc de volume qui fournit des informations sur ce volume. Tous les fichiers et dossiers du volume sont enregistrés dans l’arbre B des fichiers et dossiers, tandis que l’arbre B des étendues est responsable des étendues – références au contenu des fichiers (début du fichier, sa longueur en blocs).

Les détails relatifs à la possibilité de récupération des données à partir de ces systèmes de fichiers se trouvent dans notre article Chances de récupération. Si vous êtes intéressé par l’aspect pratique de la procédure, veuillez consulter cette page.

Système de fichiers de Linux

L’Open-source Linux vise à mettre en œuvre, tester et utiliser différents types de systèmes de fichiers. Les systèmes de fichiers Linux les plus populaires comprennent :

Ext

Ext2, Ext3, Ext4 – un système de fichiers Linux « natif ». Ce système de fichiers fait l’objet de développements et d’améliorations actifs. Le système de fichiers Ext3 est juste une extension de Ext2 qui utilise des opérations d’écriture de fichiers transactionnels avec un journal. Ext4 est un développement de Ext3, étendu avec le support d’informations d’allocation de fichiers optimisées (extents) et d’attributs de fichiers étendus. Ce système de fichiers est fréquemment utilisé comme système de fichiers « racine » pour la plupart des installations Linux.

ReiserFS

ReiserFS – un système de fichiers Linux alternatif pour le stockage d’un grand nombre de petits fichiers. Il a une bonne capacité de recherche de fichiers et permet une allocation compacte des fichiers en stockant des queues de fichier ou de petits fichiers avec des métadonnées afin de ne pas utiliser de gros blocs de système de fichiers dans le même but. Toutefois, ce système de fichiers ne bénéficie plus d’un soutien actif.

XFS

XFS – un système de fichiers dérivé de la société SGI et initialement utilisé pour les serveurs IRIX de la société. Aujourd’hui, les spécifications XFS sont mises en œuvre dans Linux. Le système de fichiers XFS est très performant et est largement utilisé pour stocker des fichiers.

JFS

JFS – un système de fichiers développé par IBM pour les puissants systèmes informatiques de l’entreprise. JFS1 signifie généralement JFS, JFS2 est la deuxième version. Actuellement, ce système de fichiers est open-source et mis en œuvre dans la plupart des versions modernes de Linux.

Btrfs

Btrfs – un système de fichiers conçu par Oracle et supporté par le noyau Linux principal depuis 2009. Le système de fichiers vise à améliorer la fiabilité et l’évolutivité, en offrant une plus grande tolérance aux pannes, une administration plus facile, etc. ainsi qu’un certain nombre de fonctionnalités avancées, mais ne peut toujours pas être considéré comme totalement stable.

Le concept de « hard links » utilisé dans ce type de systèmes d’exploitation rend la plupart des systèmes de fichiers Linux similaires avec un nom de fichier qui n’est pas considéré comme un attribut de fichier mais plutôt défini comme un alias pour un fichier dans un certain répertoire. Un objet de fichier peut être lié à partir de plusieurs endroits ou bien même se multiplier à partir du même répertoire sous des noms différents. Cela peut entraîner des difficultés sérieuses, voire insurmontables, pour récupérer les noms de fichiers après leur suppression ou encore pour endommager le système de fichiers.

Les informations concernant la possibilité de récupérer avec succès des données à partir des systèmes de fichiers mentionnés peuvent être trouvées dans Chances de récupération. Pour avoir une idée de la manière dont la procédure doit être menée, veuillez consulter cette page.

Systèmes de fichiers de BSD, Solaris, Unix

Le système de fichiers le plus courant pour ces systèmes d’exploitation est l’UFS (Unix File System), également souvent appelé FFS (Fast File System).

Actuellement, l’UFS (dans différentes éditions) est pris en charge par tous les systèmes d’exploitation de la famille Unix et constitue un système de fichiers majeur du SE BSD et du SE Sun Solaris. Les technologies informatiques modernes ont tendance à mettre en œuvre des remplacements pour UFS dans différents systèmes d’exploitation (ZFS pour Solaris, JFS et systèmes de fichiers dérivés pour Unix, etc.)

Les informations sur les chances de succès de la récupération des données de ces systèmes de fichiers sont disponibles dans l’article Chances de récupération. Le processus lui-même est décrit sur cette page.

Systèmes de fichiers regroupés

Les systèmes de fichiers en grappe sont utilisés dans les systèmes de grappes d’ordinateurs. Ces systèmes de fichiers prennent en charge le stockage distribué.

Les systèmes de fichiers distribués comprennent :

ZFS– Société Sun « Zettabyte File System » – un système de fichiers développé pour le stockage distribué des systèmes d’exploitation Sun Solaris.

Apple Xsan – l’évolution des systèmes de fichiers CentraVision et plus tard StorNext de la société Apple.

VMFS – « Virtual Machine File System » développé par la société VMware pour son serveur VMware ESX.

GFS – « Global File System » de Red Hat Linux.

JFS1 – la conception originale (héritée) du système de fichiers JFS d’IBM utilisé dans les anciens systèmes de stockage AIX.

Les propriétés communes de ces systèmes de fichiers comprennent le support des stockages distribués, l’extensibilité et la modularité.

Pour plus d’informations sur la récupération de données à partir de ces systèmes de fichiers, veuillez consulter notre article sur les Chances de récupération.

Articles connexes :

Back To Top