# FAT32

FAT32 (FAT pour file allocation table, « table d’allocation de fichiers ») est un système de fichiers inventé par Microsoft. Utilisant des adresses sur 28 bits, il permet de constituer des unités d’allocation de taille réduite sur des disques de taille importante : il en résulte une plus grande étendue de gestion que ses prédécesseurs FAT12 et FAT16 (code plus important en mémoire et exécution un peu plus lourde), mais de substantielles économies d’espace disque, le demi bloc par fichier perdu en moyenne n’étant jamais plus grand que 256 kilo-octets.
Contrairement à ce que son nom semble indiquer, le système de fichiers FAT32 n’utilise pas des adresses disque de 32, mais de 28 bits (alors que FAT12 utilise bien des adresses disque de 12 bits, et FAT16 de 16 bits).
Ce système de fichiers apparut avec la deuxième version de Windows 95, et MS-DOS fut modifié pour pouvoir être pris en charge.

## Caractéristiques techniques

À titre indicatif, la FAT d’un disque de 40 Gio formaté en FAT32 avec des unités d’allocation de 4 kio occupe typiquement environ 40 Mio, soit à elle seule quatre fois plus que la taille du disque dur des premiers PC/XT.
La capacité des partitions peut s’élever jusqu’à 2 Tio :
* clusters de 4 kio : partitions de 1 Tio ;
* clusters de 8 kio : partitions de 2 Tio ;
* clusters de 16 kio : partitions de 2 Tio (au lieu de 4 Tio théoriques) ;
* clusters de 32 kio : partitions de 2 Tio (au lieu de 8 Tio théoriques) ;
* clusters de 64 kio : partitions de 2 Tio (au lieu de 16 Tio théoriques).
La taille maximale a été limitée à 2 Tio, ce qui permet à ce système de fichiers de ne pas être dépassé à l’heure de Windows Vista et donne encore le choix entre celui-ci et NTFS. Toutefois, les problèmes principaux décourageant l'utilisation de FAT32 sont la taille des fichiers limitée à 4 Gio, l'absence de gestion des droits d'accès aux fichiers et répertoires, et le fait que les outils Microsoft permettant la création de partitions FAT32 les limitent à 32 Gio, bien que cela puisse être contourné.
Le système FAT a l’avantage d’être assez standard et compatible avec la quasi-totalité des systèmes d’exploitation et des logiciels antivirus, malgré une restriction juridique (voir ci-dessous).

### Limitations de FAT32
#### Techniques

* taille maximale d’un fichier : 4 Gio moins 1 octet, soit 4 294 967 295 octets (2$^{32}$-1) ;
* taille maximale de la partition : 16 Tio (en théorie) ;
* nombre maximum de fichiers : environ 268 000 000 (2$^{28}$ = 268 435 456) ;
* nombre de fichiers par répertoire : 65 534, en incluant les entrées . (répertoire courant) et .. (répertoire parent) ;
* les dates ont les résolutions suivantes :
** modification et effacement : 2 secondes
** création : 10 ms
** dernier accès : 1 jour ;
* les dates vont du 01/01/1980 au 31/12/2107 ;
* pas de droits d'accès aux fichiers et répertoires, ni aux métadonnées ;
* Sous Windows 2000 / XP / Vista / 7 / 8 / 10, le formatage en FAT32 est limité à 32 Gio. Les versions antérieures de Windows ne sont pas affectées par cette limitation, qui est artificielle (Le développeur Microsoft Dave Plummer (en) a indiqué que ce choix a été motivé par le fait qu'une taille de partition supérieure nécessite une taille de cluster supérieure, entraînant un gaspillage excessif d'espace disque pour le stockage des petits fichiers). La commande « format » de la ligne de commande ne paraît pas posséder cette restriction, mais elle échoue aussi. Néanmoins des logiciels tiers permettent bien de formater en FAT32 des partitions plus grandes (voir l’article sur les partitions de disque pour une liste non exhaustive de tels utilitaires), et Windows est tout à fait capable de manipuler ces partitions a posteriori. Sous d'autres environnements (macOS, Linux, etc.), le formatage de partitions supérieures à 32 Gio est également possible.

#### Juridiques

Le système de noms de fichiers longs (255 caractères au lieu des 11 disponibles auparavant) disponible sur toutes les versions de FAT a été, selon Microsoft, breveté pour sa version FAT32. Il s'agissait du brevet US6286013 "Common name space for long and short filenames" et de son pendant déposé dans d'autres pays (EP0618540 en Europe). Ce brevet vise l'utilisation de noms de fichiers longs et le raccourcissement automatique de ces noms de fichiers lorsque le système d'exploitation ne prend pas en charge le nom des fichiers longs. Ce brevet avait été déposé aux États-Unis, en Europe, au Canada, et au Japon. De nombreuses procédures juridiques ont été menées sur la base de ce brevet contesté. Il a pu être considéré comme de la contrefaçon d'utiliser des noms longs sur un système FAT32 (écrire des noms longs sur une partition FAT32 depuis un système GNU/Linux, par exemple). Ceci a obligé ou incité certains implémenteurs de GNU/Linux à réécrire une partie de leurs systèmes pour les brider de façon à ne pas permettre l’écriture de noms longs. Microsoft a par ailleurs fait plusieurs annonces en réclamant un paiement pour tout produit implémentant FAT32.
Quoi qu'il en soit, tous ces brevets sont tombés dans le domaine public en 2013/2014.