FAT (File Allocation Table)
Le format le plus standardisé
F A T
Le format FAT est un des formats le plus standardisé. Il existe depuis les premiers ordinateurs DOS et a été amélioré au cours des années.

Le format FAT existe actuellement en deux variantes: FAT-16 (pour les cartes mémoires jusqu'à environ 1GB) et FAT-32 (pour les tailles au-delà).

-

-

FAT-16 et FAT-32


Le tête de lecture est la petite tige métallique à gauche. On voit très bien le bobinage. La tête est englobée dans une plaquette céramique qui survole les plateaux magnétiques.
Le nom du système d'organisation FAT provient de la structure principale de ce type d'organisation: le tableau d'allocation des fichiers. Ce type d'organisation est décrit plus en détail sur une des pages techniques.

Le format FAT-12 est le premier système d'organisation de fichiers. Il est utilisé pour les disquettes (capacité de 1.4MB). La limite de capacité est 16MB. Le nombre "12" provient du nombre de bits utilisé pour encoder les numéros de clusters. 12 bits permet d'adresser un peu plus de 4000 clusters. Un fichier ou un répertoire utilise au minimum une unité d'allocation.

  • Un cluster est une unité d'allocation qui est accédée en une fois par le système d'exploitation. Un cluster se compose d'un ou de plusieurs secteurs.
  • Un secteur est une unité physique du disque qui est accédé en entier. Un secteur se compose de 128 bytes (très anciens), 512 bytes (le plus courant) ou 4096 bytes (disques récents).

La grandeur des clusters augmente avec la grandeur du volume: 512 bytes (1 secteur physique) pour un volume de 1.4GB et 4k pour un volume de 16MB, c'est une caractéristique du format FAT (qui a été repris par d'autres types d'organisation).

Le système FAT-16 est basé sur le système FAT-12 mais utilise 16 bits pour l'indication des clusters. La capacité passe d'un coup à 2GB, ce qui était énorme pour les disque durs de l'époque. On sait ce qu'il en est maintenant...

DOS et windows 95 ne pouvaient fonctionner qu'avec ce format, ce qui devenait gênant quand les disques ont eu des capacités plus grandes. Il était nécessaire de partitionner les disques simplement pour pouvoir utiliser le surplus de place. Nous en étions aux disques dur de 4.3GB nécessitant 3 partitions...

Voici la liste des inconvénients du système FAT-16

  • 16 bits permettent 65536 clusters. Plus la partition devient grande, et plus les clusters deviennent grand. Une partition de 2GB utilise des clusters de 32kB, alors que la taille des fichiers était souvent réduite (les fichiers MP-3 et JPEG n'existaient pas encore, d'ailleurs on n'aurait pas pu placer plus de 1500 photos de taille moyenne sur une partition).

  • Il y a une seconde copie du fichier FAT, mais elle se trouve à une place fixe. Si le disque contient une erreur à cet endroit, il est inutilisable (les disques n'avaient pas encore de zone de réserve). Cet inconvénient ne joue plus avec les disques actuels.

  • Un volume FAT-16 ne peut pas contenir plus de 65536 fichiers, puisque chaque fichier doit avoir son numéro, qui correspond au numéro de l'unité d'allocation de base. Les répertoires sont aussi des fichiers et comptent dans le nombre.

VFAT était une amélioration du système FAT-16 en ce sens qu'il permettait des noms de plus de "8.3" caractères (8 caractères pour le nom et 3 pour l'extension). VFAT a été introduit avec windows 95 mais utilisait toujours le système FAT-16 avec ses limitations. Pour garantir la compatibilité, les noms longs étaient stockés dans plusieurs éléments consécufifs du répertoire: un nom court (accessible par tous les ordinateurs) et un nom long.

On a vu l'introduction du FAT-32 avec windows 98. La version DOS a été adaptée pour permettre de démarrer à partir de partitions formatées en FAT-32.

Le format FAT-32 permet de définir plus d'unités d'allocations, qui peuvent donc être plus petites. De plus, d'autres petits inconvénients du format FAT-16 ont été éliminés, notament le nombre limité de fichiers dans la racine (et ce nombre chute rapidement si on utilise des noms de fichier longs (VFAT) qui utilisent plus d'un élément de fichier).

Avantages du système FAT (en général, comparé au système NTFS):
  • Simple et rapide
    Un nombre limité d'opérations élémentaires est nécessaire pour lire, écrire ou modifier un fichier. Il suffit de suivre le chemin vers le répertoire voulu, et accéder aux unités d'allocation (indiqué dans le FAT). Le FAT étant généralement gardé en mémoire vive, il n'y a que deux opérations d'accès nécessaires en lecture. Le code nécessaire pour accéder à un fichier est limité à moins de 1000 octets, ce qui fait que même les appareils les plus simples (data loggers) peuvent utiliser ce format.

  • Spécifications ouvertes
    Tout le monde peut utiliser le format dans ses appareils sans avoir à payer de rétribution (comparez en cela le format NTFS et exFAT). C'est pour cela que les balladeurs, les appareils photo numériques et autres gadgets utilisent ce format.

  • Efficace
    Il y a peu de pertes de capacité car les structures sont simples. Les appareils les plus élémentaires (controlleurs industriels, microprocesseurs "embedded",...) peuvent utiliser ce format. Le formatage doit de préférence être effectué sur l'appareil qui utilisera la carte de mémoire, car certains appareils ont un firmware limité qui n'utilise pas toutes les possibilités du format FAT.

  • Idéal pour les cartes de mémoire
    Les cartes de mémoire sont lentes en écriture, on a donc intérêt à limiter les opérations d'écritures supplémentaires (en plus du fichier à proprement parler). Les cartes de mémoire ne sont que peu affectées par la fragmentation des fichiers (un des inconvénients du système FAT). Du fait des opérations d'écriture moins fréquentes (write amplification), les cartes tiennent le coup bien plus longtemps.

Inconvénients du système FAT

  • Pas optimal pour les grands répertoires
    Le répertoire contient le nom des fichiers sans ordre prédéfini. En moyenne, il faut donc lire la moitié d'un répertoire pour accéder à un fichier donné. Cet inconvénient joue pour les répertoires contenant plusieurs milliers de fichiers. L'organisation alphabétique aurait pu limiter le nombre de lectures (10 opérations de lecture au maximum au lieu de 500 en moyenne pour un répertoire de 1000 noms).

  • Fragmentation
    L'administration de l'espace libre est minimal. Quand un fichier croît, le système utilise la première unité d'allocation qu'il trouve. Cela conduit très rapidement à une fragmentation des fichiers. Mais NTFS n'est pas vraiment meilleur à ce sujet...

  • Pas de correction d'erreur
    Les systèmes de fichiers utilisés dans des serveurs ont un mécanisme de correction d'erreur qui entre en jeu en cas de coupure de courant, de panne ou de bloquage du système. Le mécanisme fait appel à un journal, qui contient la liste des opération élémentaires effetuées et à effectuer.

  • Système figé à jamais
    Le format FAT est dépassé techniquement, ce qui fait qu'il n'est plus mis à jour. De plus, les informations concernant les fichiers ont une longueur fixe dans le répertoire. Il n'y a que les noms de fichiers qui ne sont pas limités en longueur, mais en utilisant un "drôle de truc" pour rester compatible avec la norme d'origine. Il n'est donc pas possible d'indiquer de droits de propriétés pour les fichiers (qui sont donc accèssibles par tout le monde).

  • Limite des fichiers
    Un des plus grands problèmes du format FAT est la limite des fichiers, qui plafonne à 4GB. Cela devient un problème maintenant que les fichiers font souvent plus de 4GB.
Le système FAT n'a jamais été crée pour des utilisations multi-tasking (serveur, mais aussi ordinateur personnel où de nombreux programmes sont actifs). Windows a créé un format qui tient compte de ces applications et permet la modification simultanée de nombreux fichiers, un nombre pratiquement illimité de fichiers par répertoire et une limite pour le moment inaccessible à la taille des fichiers.

Links to relevant pages - Liens vers d'autres pages au contenu similaire - Links naar gelijkaardige pagina's