Bien utiliser son ordinateur
Initiation à l'informatique pour tous
Vous êtes ici : Renseignements pratiques >
Choix du système :
Votre IP (2) : 18.222.193.130;
Les fichiers informatiques écrits sur un disque dur, un disque SSD, une carte mémoire ou une clé USB doivent pouvoir être retrouvés rapidement sur le support pour être lus, effacés, déplacés ou modifiés alors qu'ils peuvent être très nombreux sur le support. La façon d'organiser ces fichiers sur leur support de mémoire de masse, porte le nom de système de fichiers ou parfois système de gestion de fichiers (SGF).
Comme il y a plusieurs façons d'organiser les fichiers sur le support, il existe plusieurs systèmes de fichiers qui ont leurs avantages et leurs limitations. Dans cette page nous allons décrire succinctement les principaux systèmes de fichiers.
Note : il n'est pas nécessaire de connaître les systèmes de fichiers pour utiliser votre ordinateur ou des clés USB, mais cette connaissance peut expliquer pourquoi une clé ou un disque peut ne pas être vu par un ordinateur, par exemple, ou pourquoi il y a une erreur d'écriture d'un fichier sur une clé USB.
Pour illustrer la notion de système de fichiers, prenons l'exemple d'un livre, disons un gros livre, divisé en plusieurs parties, elles mêmes découpées en chapitres et en sous chapitres. Pour que le lecteur s'y retrouve plus facilement, l'éditeur place au début ou à la fin du livre, une table des matières.
Elle doit contenir, au minimum le nom de chaque élément (partie, chapitre, sous chapitre) et le numéro de la page où l'élément commence (voir l'illustration de gauche).
Un élément doit commencer au début d'une page. Si l'élément précédent se termine avant la fin d'une page, l'espace jusqu'à la fin de la page reste en blanc (non imprimé). Cette remarque implique qu'un élément occupe un nombre entier de pages.
Le système de fichiers informatique occupe une place définie sur le support (disque, clé...), c'est à dire que son emplacement sur le support est déterminé (en fonction du système de fichiers) et que sa taille est aussi définie et fixée, indépendamment du nombre de fichiers et dossiers qu'elle contient.
Le livre est divisé en pages. Le support informatique est divisé en blocs appelés unités d'allocation ou clusters en anglais. Un fichier occupe un nombre entier d'unités d'allocation. Si un cluster n'est pas rempli, l'espace restant est « perdu », c'est à dire qu'il reste inoccupé. C'est pour cela que certains gestionnaires de fichiers (appelés navigateurs de fichiers sous Windows) indiquent parfois la taille du fichier et l'espace occupé sur le disque (ou sur le support). Ces deux valeurs sont différentes si le dernier cluster du fichier n'est pas entièrement rempli.
Les supports informatiques sont divisés en secteurs, en général de 512 octets d'information. La taille des secteurs est fixe. Les secteurs sont regroupés en clusters (unités d'allocation) dont la taille dépend de la taille du support et du système de fichiers utilisé. La division en secteurs est une division physique, alors que la division de clusters est une division logique. Un cluster peut regrouper, par exemple 8 secteurs contigus de 512 octets pour former une unité de 4096 octets, soit 4 Kio.
La table des matières d'un livre indique le titre de l'élément et la page correspondant au début de cet élément (partie, chapitre, sous chapitre). Il est implicitement supposé que si l'élément occupe plusieurs pages, la suite de la première page occupée par l'élément est écrite sur la page suivante et ainsi de suite jusqu'à la dernière page de l'élément.
Sur un support informatique, cette logique n'est pas respectée : la suite d'un fichier qui occupe plusieurs clusters n'est pas obligatoirement écrite sur le cluster suivant pour une raison simple. Supposons qu'à un moment donné, un fichier occupant 10 clusters soit écrit sur le support informatique, puis que ce fichier soit par la suite supprimé. Lorsqu'un autre fichier doit être écrit, il peut être en partie écrit dans la place récupérée, mais s'il est plus gros que les 10 clusters libérés, il peut être écrit soit à un emplacement plus grand, soit en partie dans cet emplacement et le reste du fichier à un autre emplacement. C'est cette deuxième option qui est utilisée dans les supports informatiques pour ne pas perdre de place. Dit autrement : le système « bouche les trous » pour ne pas perdre de place. Il faut donc un système d'indexation pour donner l'adresse du reste du fichier. L'équivalent informatique de la table des matières d'un livre est constitué d'au moins deux éléments : un répertoire des dossiers et fichiers (avec le nom du fichier et le numéro de cluster du début du fichier et une zone d'index qui indique dans quel cluster se trouve la suite du fichier.
C'est cet ensemble que l'on appelle le système de fichiers. Comme il y a plusieurs façons de gérer le couple répertoire - index, on trouve plusieurs systèmes de fichiers qui ont leurs avantages et leurs inconvénients.
Un fichier découpé en plusieurs parties écrites à des emplacement différents sur un support tel qu'un disque dur implique de nombreux déplacements des têtes de lecture du disque pour récupérer les différentes parties d'un fichier. Cela augmente le temps d'accès aux données sur le disque. Un bon système de fichiers doit essayer de réduire ce temps d'accès et donc de limiter cette fragmentation tout en utilisant au maximum la place disponible.
Cette liste, non exhaustive, donne les principaux paramètres des systèmes de fichiers les plus courants sur les systèmes Windows et Linux.
Le système FAT, abréviation de File Allocation Table (soit table d'allocation de fichiers en français), est un système conçu par Microsoft pour les disquettes de 160 Kio, qui a vu le jour en 1980. Ce système est devenu obsolète avec la fin des disquettes et a été rebaptisé FAT12 pour le différencier des systèmes FAT16 et FAT32, plus récents.
Dans ce système, les noms de fichiers et de dossiers sont limités à 8 caractères maximum en majuscules sans accent, suivis d'un point et suivis de 3 caractères maximum pour l'extension du nom. C'est le format « normal » dit « 8.3 », soit 11 octets en tout car le point n'est pas écrit sur le support .
Pour pallier cette limitation, un complément a été ajouté au système FAT, appelé VFAT (pour Virtual FAT) qui peut gérer les noms longs, jusqu'à 255 caractères Unicode (donc utilisant les majuscules et minuscules accentuées) codés en UTF-16. Ce système VFAT, apparu après la FAT16, est appliqué à tous les systèmes FAT (FAT12, FAT16 et FAT32) et permet d'utiliser indifféremment les noms 8.3 et les noms longs.
Les systèmes de fichiers FAT16 et FAT32 sont toujours utilisés (par exemple pour les cartes mémoires des appareils photos ou les clés USB) car ils peuvent être lus sur de très nombreux appareils.
Ce système de fichiers utilise des adresses des unités d'allocation codées sur 16 bits, ce qui autorise 216 adresses, soit 65 536 adresses différentes théoriquement (en fait un peu moins, car Microsoft interdit l'utilisation d'un certain nombre d'adresses). Ce système est encore utilisé sur des supports de faible capacité, en particulier sur des clés USB de capacité inférieure à 2 Gio (théoriquement jusqu'à 4 Gio, mais rarement utilisé). Comme le nombre d'adresses théorique est limité à 216, la taille des clusters est de 32 Kio (64 secteurs) pour un support de 2 Gio. Un petit fichier de 1 Kio occupe alors une place de 32 Kio sur un tel support, ce qui provoque une grande perte de place. Pour une clé de 1 Gio, la taille des clusters est de 16 Kio.
La taille maximale d'un fichier est de 4 Gio (moins 1 octet). Le nombre maximal de fichiers (par partition) est de 65 524. De plus, le nombre maximal d'entrées (dossiers ou fichiers) du répertoire racine du support est limité à 512. Ce nombre est diminué avec l'utilisation des noms longs, car un tel nom occupe plusieurs entrées du répertoire. Ce système ne gère pas les droits d'accès aux fichiers. La datation des fichiers s'étend du premier janvier 1980 au 31 décembre 2107.
Structure du support
Un support (disque, carte mémoire, clé USB) formaté en FAT16 se présente de la façon suivante :
Remarque : si le premier octet du nom du fichier est égal à E2, cela signifie que le fichier est supprimé. Il suffit de remplacer cet octet par une autre valeur pour récupérer le fichier si la place qu'il occupait n'a pas été récupérée entre temps. Si ce premier octet est égal à 00, c'est que cette entrée est disponible.
Les noms de fichiers longs, introduits avec le système de VFAT intégré au système FAT, occupent plusieurs entrées du répertoire. Vous pouvez trouver une description très détaillée sur le site Wikipédia sur les systèmes FAT (12, 16 et 32) et sur le codage de la VFAT.
Mécanisme
Le système lit et décode le BPB pour calculer l'emplacement du répertoire racine du support. Il lit et affiche ce répertoire. Pour accéder à un fichier, il lit l'entrée du fichier, en particulier, le numéro du premier cluster du fichier. À l'emplacement indiqué dans la FAT, il lit ensuite le numéro de cluster suivant et ainsi de suite jusqu'à trouver le numéro du dernier cluster du fichier indiqué par la valeur comprise entre FFF8 et FFFF. Avec cette liste de clusters et la taille du fichier, le système peut accéder aux divers morceaux du fichier et le lire comme s'il était écrit d'un seul bloc sur le support.
Contrairement à ce que pourrait laisser penser son nom, ce système de fichiers utilise des unités d'allocation codées sur 28 bits, ce qui autorise 228 adresses, soit 268 435 456 clusters. La structure de ce système ressemble beaucoup à celle du système FAT16. En particulier les entrées de répertoire sont identiques.
Ce système est toujours très utilisé pour les systèmes amovibles (clés USB, cartes mémoires...) car tous les appareils dits « de salon » (téléviseurs, lecteurs DVD, lecteurs CD.etc.) peuvent lire ce système de fichiers (ainsi que la FAT16).
La taille maximale d'un fichier est toujours limitée à 4 Gio (moins 1 octet) et la taille maximale d'une partition a été volontairement limitée à 2 Tio (2 tébioctets) alors qu'elle pourrait s'étendre jusqu'à 16 Tio. Chaque répertoire peut contenir un maximum de 65 534 fichiers. Ce nombre est diminué avec l'utilisation des noms longs, car un tel nom occupe plusieurs entrées du répertoire. Comme pour la FAT16, ce système ne gère pas les droits d'accès aux fichiers. La datation des fichiers s'étend du premier janvier 1980 au 31 décembre 2107.
Le système exFAT est aussi un système de fichiers créé par Microsoft en 2006 pour les supports mémoire amovibles (clés USB, disques amovible USB, cartes SD...). Il est une extension du système FAT32 qui n'a pas les limitations de ce système. Les limites sont tellement élevées qu'elles ne seront probablement pas atteintes : taille maximale des fichiers de 16 exaoctets (soit 16 milliards de gigaoctets). Le nombre de fichiers par partition ainsi que le nombre de partitions et leurs taille sont aussi énormes et ne seront pas non plus atteintes.
Ce système de fichiers, développé par Microsoft en 1993 remplace les systèmes de fichiers FAT sur les disques durs des ordinateurs fonctionnant avec les systèmes Windows à partir de Windows NT 3.1. Le NTFS, sigle de New Technology File System (soit Système de fichiers de nouvelle technologie en français), reste peu documenté.
Ses caractéristiques principales sont :
Comme pour les systèmes de fichiers précédents, les secteurs du support sont regroupés en blocs appelés clusters. Un fichier occupe un nombre entier de clusters. Le nombre maximum de clusters est de (232 - 1), soit plus de 4 milliards. La taille des clusters est fonction de la taille de la partition. La taille maximale d'un cluster est de 2048 Kio pour une partition de 8 Po. La taille par défaut d'un cluster est de 4 Kio (soit 4096 octets).
En plus de repousser les limites du système FAT, le système NTFS augmente la fiabilité par une journalisation qui lui permet de détecter et corriger les erreurs sur les clusters. Il augmente aussi la sécurité par un système d’autorisation d'accès sur des fichiers ou des dossiers. Ce système est appelé ACL pour Access Control List (soit liste de contrôle d'accès en français).
Les données et les fichiers système peuvent être sécurisés par un système de chiffrement nommé Chiffrement de lecteur BitLocker.
Structure du support
Bien que Microsoft n'ait pas documenté son système de fichiers NTFS, certains éléments sont connus :
Ext4 est la dernière version des systèmes de fichiers « ext » utilisés par les distributions GNU/Linux. La première mouture, nommée simplement ext pour extended file system (soit système de fichiers étendu en français), est créée en avril 1992 par le français Rémy Card spécifiquement pour le système d'exploitation Linux créé l'année précédente.
Il est ensuite amélioré sous la dénomination de ext2 (1993) pour limiter la fragmentation des fichiers (qui est un défaut des systèmes FAT et NTFS). La version suivante, ext3 (2001), ajoute la journalisation du système. La journalisation utilise un fichier journal qui sert à tracer les opérations d'écriture tant qu'elles ne sont pas terminées et cela en vue de garantir l'intégrité des données en cas d'arrêt brutal du système, comme une coupure de courant brutale pendant l'écriture des données sur le support par exemple.
Le système de fichiers ext4 a été écrit en 2006 pour ne pas compliquer le code de l'ext3 et est intégré aux distributions Linux en 2008. Il intègre les acquis de ext3 et ajoute une fonctionnalité d'allocation supplémentaire d'espace lors de l'écriture des fichiers (fonction appelée extent), ce qui limite sa fragmentation. Si le fichier s'agrandit, il peut être réécrit d'un seul bloc au même emplacement.
Il est adapté aux supports de grande taille :
Structure du support
Le système de fichiers ext4 (ainsi que les versions précédentes d'ext) utilise le mécanisme des inodes (ou nœud d'index en français). Les systèmes de fichiers du monde Windows utilisent la notion de cluster (regroupement de secteurs pour l’adressage des informations), alors que le monde UNIX (dont Linux fait partie) utilise la notion d'inode.
Lors du formatage d'une partition en ext4 sur un support de mémoire de masse, une liste complète d'inodes est créée, chaque inode comportant un numéro unique. Le nombre d'inodes (qui dépend de la taille du support) détermine le nombre maximum de fichiers que pourra contenir le support et ce nombre ne pourra pas être modifié.
Un inode sous ext4 contient les informations suivantes sur chaque fichier :
À noter que le nom du fichier n'est pas inclus dans l'inode. Il est stocké dans un bloc de répertoire qui contient également le numéro d’inode, le nom et la longueur du nom du fichier.
Avec ce mécanisme, il est facile de créer des liens sur des fichiers : une entrée de répertoire (avec un nom de fichier) pointe sur un inode. Une seconde entrée de répertoire, avec un autre nom, peut pointer sur le même inode : c'est un lien physique sur le premier fichier. Si l'on détruit ce lien, le fichier d'origine n'est pas effacé. Les liens symboliques sont un peu plus compliqués à décrire mais fonctionnent à peu près de la même façon.