Systèmes de fichiers disquettes : FAT12, FAT16, et l'héritage de la simplicité
Les disquettes utilisaient exclusivement la famille de systèmes de fichiers FAT (File Allocation Table). La variante spécifique dépendait de la capacité du format de disque et de l'ère du système d'exploitation.
Variantes FAT par format disquette
| Format Disquette | Capacité (Formatée) | Secteurs/Cluster | Type FAT | Volume Max | Ère / OS |
|---|---|---|---|---|---|
| 8 pouces (SS/SD) | 256 Ko – 1,2 Mo | 1–4 | FAT12 | 32 Mo | CP/M-86, DOS 1.x début |
| 5,25″ DD (360 Ko) | 360 Ko | 2 | FAT12 | 32 Mo | DOS 2.0+ (1983) |
| 5,25″ HD (1,2 Mo) | 1,2 Mo | 1 | FAT12 | 32 Mo | DOS 3.0+ (1984) |
| 3,5″ DD (720 Ko) | 720 Ko | 2 | FAT12 | 32 Mo | DOS 3.2+ (1986) |
| 3,5″ HD (1,44 Mo) | 1,44 Mo | 1 | FAT12 | 32 Mo | DOS 3.3+ (1987) |
| 3,5″ ED (2,88 Mo) | 2,88 Mo | 2 | FAT12 (rarement FAT16) | 32 Mo / 2 Go | DOS 5.0+ / OS/2 |
| LS-120 / LS-240 (SuperDisk) | 120 / 240 Mo | 32 / 64 | FAT16 (ou FAT32) | 2 Go / 32 Go | Win 98/2000 |
| Zip 100/250/750 | 100–750 Mo | 64/128 | FAT16 / FAT32 | 2 Go / 32 Go | Win 95/98/NT |
Pourquoi FAT12 dominait les disquettes
- Adressage clusters : FAT12 utilise adresses clusters 12-bit (4096 clusters max). Parfait pour volumes <2 Mo. FAT16 (65k clusters) gaspille espace sur minuscules disques (taille cluster ≥ 32 Ko → espace perdu massif).
- Surcharge : Secteur amorce + 2 FAT + Racine (14 secteurs) = ~12 Ko surcharge. Minimal.
- Universalité : DOS, Windows, OS/2, Linux, macOS, RTOS embarqués lisent/écrivent FAT12 nativement. Zéro problème drivers.
- Simplicité : Chaîne clusters liste chainée. Facile à implémenter en 8 Ko ROM BIOS. Pas de journalisation, ACLs, compression, chiffrement.
Éléments structurels clés (FAT12 sur 1,44 Mo)
- Secteur amorce (Secteur 0) : BPB (Bloc Paramètres BIOS) — octets/secteur, secteurs/cluster, secteurs réservés, nombre FAT, entrées racine, secteurs totaux, descripteur média, secteurs/FAT.
- FAT 1 & 2 (Secteurs 1–18) : Deux copies pour redondance. Chaque entrée 1,5 octets (12 bits). Valeurs : 000=Libre, FF8-FFF=Mauvais/Fin-Chaîne, 002-FF7=Cluster Suivant.
- Répertoire Racine (Secteurs 19–32) : 224 entrées fixes (32 octets chacune). Noms 8.3. Pas de sous-répertoires dans racine (sous-répertoires sont clusters zone données).
- Zone Données (Secteur 33+) : Clusters 2–2879 (2880 clusters × 512 octets = 1,44 Mo).
Limitations qui l'ont tué pour DD (Mais pas disquettes)
- Volume max 32 Mo (FAT12) / 2 Go (FAT16 avec clusters 32K).
- Pas permissions, pas noms longs (VFAT/LFN ajouté Win95), pas journalisation (corruption coupure courant), fragmentation sévère.
- Limite entrées racine (224 pour 1,44M).
Contexte moderne
- Lecteurs disquettes USB montent encore en FAT12.
- Systèmes embarqués (imprimantes 3D, CNC, oscilloscopes) utilisent encore FAT12/16 sur cartes SD pour G-code/config.
- DOSBox, VMs, passionnés rétro maintiennent FAT12 vivant.
En résumé : FAT12 était l'ajustement parfait pour contraintes disquettes : capacité minuscule, interopérabilité universelle, empreinte ROM minimale. Sa simplicité explique sa persistance 30+ ans.
