Utilisateur:François Melchior/Systèmes de fichiers/FAT
Le BIOS Parameter Block (BPB)
[modifier | modifier le wikicode]Le BPB contient toutes les informations permettant d’utiliser le système de fichiers, comme l’emplacement et(ou) la taille des différentes structures. Il est situé dans le secteur de boot (contenant également le code nécessaire au lancement d’un système d'exploitation), qui est le premier secteur du disque / de la partition.
FAT12/FAT16
FAT32
00h | JMP | Nom OEM | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
08h | ... | Octets/secteur | S./clust. | Secteurs réservés | ||||||||||||
10h | Nb. FAT | Entrées rép princ. | Nb total secteurs | Des. média | Secteurs/FAT | |||||||||||
18h | Secteurs/piste | Nb. têtes | Nb. secteurs cachés | |||||||||||||
20h | Nb total secteurs (2) | |||||||||||||||
28h | ||||||||||||||||
30h | ||||||||||||||||
38h | ... | |||||||||||||||
xxh |
La FAT
[modifier | modifier le wikicode]La zone contenant les données est divisée en unités d'allocation (cluster) de taille identique ; cette taille est décidée lors de l'initialisation du système de fichiers (ou formatage) et sera généralement comprise entre 512 octets et 32 Kio.
Chaque unité d’allocation possède une entrée dans la FAT (table d’allocation des fichiers, qui a donné son nom au système de fichiers). Celle-ci est constituée d’une suite d'entrées de 12, 16 ou 32 bits little-endian (suivant la génération : FAT12, FAT16 ou FAT32) pouvant prendre les valeurs suivantes:
- unité d’allocation libre : 0
- dernière unité d’allocation d’un fichier : 0xFF8 / 0xFFF8 / 0x?FFFFFF8 → 0xFFF / 0xFFFF / 0x?FFFFFFF
- unité allouée à un fichier mais n’étant pas la dernière : le numéro de l’unité d’allocation suivante
- unité d’allocation défectueuse : 0xFF7 / 0xFFF7 / 0x?FFFFFF7
Notez que dans le cas de la FAT32, seuls 28 bits sur 32 sont utilisés.
Remarque: les unités d’allocation 0 et 1 n’existent pas, la première unité d’allocation sera par conséquent la n°2. Les deux premières entrées de la FAT, correspondant à ces unités d’allocation inexistantes ont le format suivant :
Répertoires
[modifier | modifier le wikicode]Les répertoires sont des fichiers comme les autres, sauf le répertoire racine dans le cas de la FAT12 et FAT16.