Le tableau FAT (File Allocation Table) est à la base du système de fichiers FAT. Le répertoire indique le début du fichier sur le disque, mais ce système est insuffisant quand le fichier s'est aggrandi et se compose de plusieurs morceaux. Le tableau FAT permet de rechercher rapidement tous les morceaux d'un fichier. La structure FAT est maintenue en mémoire vive pour permettre un accès rapide. |
-
Blocs et clusters (unités d'allocation)Le disque dur contient des milliards d'octets. Mais ils ne sont pas addressables individuellement. 512 octets consécutifs forment un bloc (dans la préhistoire informatique on disait un secteur): c'est la plus petite structure adressable sur le disque (voir organisation physique). Les cartes de mémoire (et les disques les plus récents) travaillent avec des blocs de 4kB.Il y a trop de blocs dans le cas d'un volume de grande capacité (par exemple 1GB: 2 million de blocs). Gérer tout ces blocs demande trop de temps et trop de place. Les blocs sont regroupés par unités d'allocation ou clusters. Un cluster contient par exemple 32 blocs consécufifs. Notre disque de 1GB contient 62.500 clusters de 16.384 octets. Un fichier ou répertoire utilise toujours un minimum de une unité d'allocation (donc 16.384 octets) Attention: le groupement en clusters ne se fait que dans l'espace-données (répertoires et fichiers), pas dans la zone technique qui est accédée par bloc. Les autres formats (NTFS et EXT) utilisent également les unités d'allocation.
La zone de donnée contient les fichiers et les répertoires. Dans cet exemple, il n'y a pas de groupement en unités d'allocation à cause du petit nombre de blocs disponibles. Fonctionnement:
Comment est-il possible de lire ces morceaux? Grâce au FAT qui est une liste chainée (linked list). La liste chainée est une des structures de base en informatique. Contrairement aux listes chainées classiques, cette liste ne contient aucune valeur (donnée d'exploitation), mais uniquement un pointeur vers l'élément suivant. Si tu comprends cette phrase, tu as tout compris du système FAT: la valeur se trouve en effet dans l'unité d'allocation correspondante! L'accès à la valeur est implicite: la position d'un élément dans le tableau FAT correspond à la même position dans la série d'unités d'allocation.
L'emplacement des différents fichiers correspond aux différentes listes chainées dans le tableau FAT. Nous soulignons en rouge les points d'entrée de notre liste (le point d'entrée n'est pas indiqué dans la liste, c'est simplement une aide à la compréhension). Un champ de chaque enregistrement du répertoire contient un pointer vers l'adresse physique du début du fichier, et donc également vers le premier élement de la liste.
Implémentation pratique et exemplesLa zone de donnée peut donc contenir 4.096, 65.536 ou 268.435.456 unités d'allocation. C'est également la limite maximale du nombre de fichiers sur le volume. Dans notre exemple pratique, le volume de 1GB avec ses unités d'allocation de 32 blocs (16kB) a un FAT qui fait 125.000 octets, soit 0.125% de la capacité totale du volume, ce qui est une excellente valeur.
Dans un vrai système, on n'utilise pas les deux premiers éléments du FAT, qui contiennent des informations techniques (housekeeping): une indication si le volume a été cloturé correctement (dirty bit) et l'adresse du premier bloc de libre.
AvantagesLe FAT (qui est la seule structure technique) prend très peu de place en mémoire et sur disque et permet de localiser rapidement tous les morceaux d'un fichier. Il y a une correspondance entre chaque élément du FAT et la position du fragment de données (cluster) dans la zone des données. L'écriture est également très simple: écrire les données, modifier le FAT, modifier le répertoire. Un fichier est créé en trois opérations élémentaires. De plus, le format FAT est libre de droits. Microsoft a essayé de le patenter, mais cela n'a réussi que pour une très petite partie du format, notament la fonction "noms longs" (qui utilise des éléments de répertoire consécutifs). C'est pour cela que les photos sur une carte flash ont toujours des noms au format 8.3 DSC-1234.JPG. L'appareil photo ne montrera pas la photo si tu changes son nom car l'appareil ne contient pas de code pour interpréter les noms longs.
Inconvénients
|
Publicités - Reklame