Le premier système de fichiers utilisé dans un système d’exploitation Microsoft était le système FAT, qui utilise une table d’allocation de fichiers. Cette table est en fait un index qui crée une liste du contenu du disque pour enregistrer l’emplacement des fichiers sur le disque. Comme les blocs qui composent un fichier ne sont pas toujours stockés de manière contiguë sur le disque (phénomène appelé fragmentation), la table d’allocation permet de maintenir la structure du système de fichiers en créant des liens vers les blocs qui composent le fichier.
Le système de fichiers FAT16
Le système FAT est un système 16 bits qui permet d’identifier les fichiers par un nom composé de jusqu’à 8 caractères et d’une extension de 3 caractères, c’est la raison pour laquelle le système s’appelle FAT16.
Les adresses de cluster ne peuvent pas dépasser 16 bits. Le nombre maximum de grappes pouvant être référencées avec le système FAT est donc de 216 (65536) grappes. Puisqu’un cluster est constitué d’un nombre fixe (4,8,16,32, …) de secteurs de 512 octets contigus, la taille maximale de la partition FAT peut être déterminée en multipliant le nombre de clusters par la taille d’un cluster. Avec des clusters de 32 Ko, la taille maximale d’une partition FAT est donc de 2 Go.
De plus, un fichier ne peut occuper qu’un nombre intégral de clusters, ce qui signifie que si un fichier occupe plusieurs clusters, le dernier cluster ne sera que partiellement occupé et l’espace inoccupé sera inutilisable. En conséquence, plus la taille du cluster est petite, moins l’espace est gaspillé. On estime qu’un fichier gaspille en moyenne un demi-cluster, ce qui signifie que sur une partition de 2 Go, 16 Ko par fichier seront perdus.
La table d’allocation de fichiers
La Table d’allocation de fichiers est une liste de valeurs numériques qui décrit l’allocation des clusters d’une partition. En d’autres termes, l’état de chaque cluster de la partition dans laquelle il se trouve. En effet, chaque cellule de la table d’allocation correspond à un cluster.
Chaque cellule contient un numéro qui indique si le cluster est utilisé par un fichier et l’emplacement du cluster suivant dans le fichier. Enfin, vous vous retrouvez avec une chaîne FAT, une liste chaînée de références pointant vers les clusters successifs jusqu’à la fin du fichier. Chaque entrée FAT est longue de 16 ou 32 bits (selon qu’il s’agit de FAT16 ou de FAT32).
Les deux premières entrées stockent des informations sur la table elle-même, tandis que les entrées suivantes font référence aux clusters. Certaines entrées peuvent contenir des valeurs indiquant l’état du cluster spécifique.
Par exemple, la valeur 0000 indique que le cluster n’est pas utilisé, FFF7 marque un cluster défectueux (de sorte qu’il ne sera pas utilisé) et les valeurs entre FFF8 et FFFF spécifient que le cluster contient la fin d’un fichier. Chaque partition contient en fait deux copies de la table stockées de manière contiguë sur le disque, de sorte qu’elle peut être récupérée si la première copie est corrompue.
Le système de fichiers FAT32
Bien que VFAT soit un système intelligent, il ne répondait pas aux limites de FAT16. En conséquence, un nouveau système de fichiers (et pas seulement une meilleure gestion des GRAISSES comme ce fut le cas avec VFAT) est apparu avec Windows 95 OSR2. Ce système de fichiers, appelé FAT32, utilise des valeurs de 32 bits pour les entrées FAT. En fait, seuls 28 bits sont utilisés, 4 bits étant réservés pour une utilisation future.
Avec l’apparition du système de fichiers FAT32, le nombre maximal de clusters par partition est passé de 65535 à 268 435 455 (228-1). FAT32 permet ainsi des partitions beaucoup plus grandes (jusqu’à 8 téraoctets). Bien que la taille théorique maximale d’une partition FAT32 soit de 8 To, Microsoft l’a volontairement limitée à 32 Go sur les systèmes Windows 9x pour promouvoir NTFS.
Comme une partition FAT32 peut contenir beaucoup plus de clusters qu’une partition FAT16, il est possible de réduire considérablement la taille des clusters et de limiter ainsi l’espace disque gaspillé. Par exemple, avec une partition de 2 Go, il est possible d’utiliser des clusters de 4 Ko avec le système FAT32 (au lieu de clusters de 32 Ko avec FAT16), ce qui réduit l’espace perdu d’un facteur 8.
Système de fichiers FAT16 ou FAT32?
Comme le nombre de clusters est limité, la taille maximale d’une partition dépend de la taille de chaque cluster. Jetons un coup d’œil à la taille maximale de la partition en fonction de la taille du cluster et du système de fichiers utilisé:
Cluster size | FAT16 file system | FAT32 file system (theoretical) |
---|---|---|
512 bytes | 32 MB | 64 MB |
1 KB | 64 MB | 128 MB |
2 KB | 128 MB | 256 MB |
4 KB | 256 MB | 8 GB (1 TB) |
8 KB | 512 MB | 16 GB (2 TB) |
16 KB | 1 GB | 32 GB (4 TB) |
32 KB | 2 GB | 2 Go (8 To) |
Lorsque vous formatez un disque dur, vous devrez peut-être décider avec soin du type de système de fichiers que vous allez utiliser et sélectionner celui qui fournit une quantité d’espace disponible aussi proche que possible de la taille souhaitée.