FAT12 (FAT pour , table d'allocation de fichiers) est un système de fichiers développé par Microsoft vers 1980 (intégrant le travail fait par Tim Patterson sur 86-DOS, lui-même s'étant inspiré de CP/M). Il reste le système de fichiers le plus employé sur disquette.
Ce système de fichier a été initialement conçu pour être utilisé sur des disquettes à une époque où leur capacité n'atteignait pas . Le 12 fait référence au nombre de bits employés pour coder les numéros d'unités d'allocation sur le disque.
Le système se nommait au départ simplement FAT. On lui a adjoint le suffixe 12 lors de la sortie du FAT16, pour les différencier car les utilitaires de bas niveau en FAT12 (comme de l'époque) ne fonctionnaient plus avec FAT16. Cependant, dans les versions récentes des systèmes d'exploitation Microsoft Windows, les disques formatés en FAT12 ou en FAT16 sont tous deux désignés FAT.
Caractéristiques techniques Il n'y a pas de différence entre un en-tête FAT12 et FAT16. Le seul moyen de différencier ces deux systèmes de fichiers est de calculer le nombre de . Donc un système ou un programme utilisant l'un de ces deux types de FAT doit savoir utiliser l'autre type de manière transparente.
Dans ce système de fichiers, le nombre total de secteurs d'un disque est stocké sur et limite la taille totale du système de fichiers à moins de pour des secteurs de , mais par compatibilité avec les OS précédant PC DOS 2.0, la taille des unités d'allocation dépasse rarement et le système de fichiers est limité à .
L'autre limite vient du nombre de bits employés pour coder les numéros des unités d'allocation (appelées en anglais), 12 bits permettent 4096 combinaisons. Malheureusement plusieurs documents de Microsoft se contredisent sur la valeur maximale du nombre de . Certains disent unités d'allocation, ce nombre descend à 4078 dans un autre ouvrage Microsoft citant les numéros 0xff0 à 0xff6 (soit à ) comme inutilisables. En tout état de cause, un programme qui formate un disque a tout intérêt à rester loin de cette limite car chaque programmeSur linux, le driver du noyau, mkdosfs et les mtools ont chacun une limite différente peut s'appuyer sur l'un ou l'autre de ces documents (dont aucun n'est normatif).
Ces deux limitations ne le rendent utilisable que pour des systèmes de fichiers qui semblent aujourd'hui de petite taille. La taille maximale est proportionnelle à la taille des : avec de , on ne peut utiliser que des disques de moins de ( × 512 = ) ; avec des de , on arrive à ; avec des de , on arrive à ; avec des de , on arrive à . La limite atteinte par FAT12 avant le passage à FAT16 fut .
Une autre limitation technique est que le nombre d'entrées dans le répertoire racine est fixé au moment du formatage. La FAT16 et FAT32 ont la même limitation. Si on doit mettre beaucoup de fichiers sur un média formaté en FAT, il est recommandé de créer et d'utiliser un répertoire à la racine plutôt que de les mettre les fichiers directement à la racine. De plus l'emploi des noms longs (voir VFAT) crée des entrées supplémentaires dans les répertoires. Il est donc préférable de ne pas utiliser des noms longs dans le répertoire racine.
Ce système de fichiers est toujours utilisé par les versions les plus récentes de Microsoft Windows, mais seulement pour les disquettes (qui font ) et les anciennes clefs USB (moins de ).
Notes et références
Voir aussi Articles connexes File Allocation Table : détaille les structures du système de fichier FAT16 FAT32
Catégorie:Système de fichiers
en:File Allocation Table#FAT12