Male Fat

Table d'allocation des fichiers

Aller à la navigation Aller à la recherche

Cet article est une introduction non technique au sujet. Pour l'article principal de l'encyclopédie, voir Conception du système de fichiers FAT.
GRAISSE
Développeur (s) Microsoft, NCR, SCP, IBM, Compaq, Recherche Numérique, Novell, Caldera
Nom complet Table d'allocation des fichiers
Variantes FAT 8 bits, FAT12, FAT16, FAT16B, FAT32, ExFAT, FATX, FAT +
Introduit 1977 avec disque autonome BASIC-80
Identifiant de partition MBR / EBR:
FAT12: 0x01 e.a. (Attribut étendu)
FAT16: 0x04 0x06 0x0E e.a.
FAT32: 0x0B 0x0C e.a.
BDP:
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Les structures
Contenu du répertoire Table
Attribution de fichier Liste liée
Mauvais blocs Étiquetage de cluster
Limites
Max. taille du volume FAT12: 32 MiB (256 MiB pour 64 grappes KiB)
FAT16: 2 Gio (4 Gio pour 64 grappes KiB)
FAT32: 2 TiB (16 TiB pour 4 secteurs de KiB)
Max. taille du fichier 4 294 967 295 octets (4 GiB - 1) avec FAT16B et FAT32[1]
Max. nombre de fichiers FAT12: 4 068 pour 8 grappes KiB
FAT16: 65460 pour 32 grappes KiB
FAT32: 268 173 300 pour 32 grappes KiB
Max. longueur du fichier 8.3 nom de fichier, ou 255 caractères UCS-2 lors de l'utilisation de LFN[nb 1]
Caractéristiques
Dates enregistrées Date / heure modifiée, date / heure de création (DOS 7.0 et versions ultérieures uniquement), date d'accès (uniquement disponible avec ACCDATE activé),[2] date / heure de suppression (uniquement avec DELWATCH 2)
Plage de dates 1980-01-01 à 2099-12-31 (2107-12-31)
Résolution de date 2 secondes pour la dernière heure modifiée,
10 ms pour le temps de création,
1 jour pour la date d'accès,
2 secondes pour le temps de suppression
Forks Pas nativement
Les attributs Lecture seule, Caché, Système, Volume, Répertoire, Archive
Autorisations du système de fichiers FAT12 / FAT16: Droits d'accès aux fichiers, répertoires et volumes pour lire, écrire, exécuter, supprimer uniquement avec DR-DOS, PalmDOS, Novell DOS, OpenDOS, FlexOS, OS 4680, OS 4690, DOS simultané, DOS multi-utilisateur, Gestionnaire système, REAL / 32 (Exécuter à droite uniquement avec FlexOS, 4680 OS, 4690 OS, mots de passe de fichiers / répertoires individuels non avec FlexOS, 4680 OS, 4690 OS, classes d'autorisation Monde / Groupe / Propriétaire uniquement avec une sécurité multi-utilisateur chargée)
FAT32: Partiel, uniquement avec les systèmes d'exploitation DR-DOS, REAL / 32 et 4690
Compression transparente FAT12 / FAT16: Par volume, SuperStor, Stacker, DoubleSpace, DriveSpace
FAT32: Non
Cryptage transparent FAT12 / FAT16: par volume uniquement avec DR-DOS
FAT32: Non

File Allocation Table (FAT) est une architecture de système de fichiers informatique et une famille de systèmes de fichiers standard de l'industrie qui l'utilisent. Le système de fichiers FAT est une norme continue qui emprunte le code source du système de fichiers d'origine et se révèle simple et robuste.[3] Il offre des performances utiles même dans des implémentations allégées, mais ne peut pas offrir les mêmes performances, la même fiabilité et la même évolutivité que certains systèmes de fichiers modernes. Il est cependant supporté pour des raisons de compatibilité par presque tous les systèmes d'exploitation actuellement développés pour les ordinateurs personnels et de nombreux appareils mobiles et systèmes embarqués, et est donc un format adapté pour l'échange de données entre ordinateurs et appareils de presque tous types et âges. jusqu'à présent.

Conçu à l'origine en 1977 pour une utilisation sur disquettes, FAT a rapidement été adapté et utilisé presque universellement sur les disques durs à travers les versions DOS et Windows 9x pendant deux décennies.[4] Au fur et à mesure de l'évolution des unités de disque, les capacités du système de fichiers ont été étendues en conséquence, résultant en trois variantes majeures du système de fichiers: FAT12, FAT16 et FAT32. La norme FAT a également été étendue par d'autres moyens tout en préservant généralement la rétrocompatibilité avec les logiciels existants.

Avec l'introduction d'ordinateurs et de systèmes d'exploitation plus puissants, ainsi que le développement de systèmes de fichiers plus complexes pour eux, FAT n'est plus le système de fichiers par défaut pour une utilisation sur les ordinateurs Microsoft Windows.[5]

Les systèmes de fichiers FAT sont encore couramment trouvés sur les disquettes, flash et autres cartes et modules de mémoire à semi-conducteurs (y compris les lecteurs flash USB), ainsi que de nombreux périphériques portables et embarqués. FAT est le système de fichiers standard pour les appareils photo numériques selon la spécification DCF.

Aperçu

Les concepts

Article principal: Conception du système de fichiers FAT

Le nom du système de fichiers provient de l'utilisation prééminente du système de fichiers d'une table d'index, Table d'allocation des fichiers (GRAISSE), alloués statiquement au moment du formatage. La table contient des entrées pour chaque grappe, une zone contiguë de stockage sur disque. Chaque entrée contient soit le numéro du cluster suivant dans le fichier, soit un marqueur indiquant la fin du fichier, l'espace disque inutilisé ou des zones réservées spéciales du disque. le répertoire racine du disque contient le numéro du premier cluster de chaque fichier dans ce répertoire; le système d'exploitation peut alors traverser le FAT, en recherchant le numéro de cluster de chaque partie successive du fichier disque en tant que chaîne de cluster jusqu'à la fin du fichier est atteint. De la même manière, sous-répertoires sont mis en œuvre en tant que fichiers spéciaux contenant les entrées de répertoire de leurs fichiers respectifs.

Conçu à l'origine comme un système de fichiers 8 bits, le nombre maximal de clusters a été considérablement augmenté à mesure que les unités de disque ont évolué. Le nombre de bits utilisés pour identifier chaque cluster a donc augmenté. Les variantes majeures successives du format FAT portent le nom du nombre de bits de l'élément table: 12 (FAT12), 16 (FAT16) et 32 ​​(FAT32). À l'exception du précurseur FAT original de 8 bits, chacune de ces variantes est toujours utilisée.La norme FAT a également été étendue par d'autres moyens tout en préservant généralement la rétrocompatibilité avec les logiciels existants.

Les usages

Le système de fichiers FAT a une longue histoire (plus de trois décennies) d'utilisation sur les ordinateurs de bureau et les ordinateurs portables, et il est fréquemment utilisé dans les solutions intégrées.

FAT offre des performances et une robustesse raisonnablement bonnes, même dans des mises en œuvre très légères.[3] Il est donc largement adopté et pris en charge par pratiquement tous les systèmes d’exploitation existants pour ordinateurs personnels, ainsi que par certains ordinateurs domestiques et une multitude de systèmes embarqués. Cela en fait également un format utile pour les cartes mémoire à semi-conducteurs et un moyen pratique de partager des données entre les systèmes d'exploitation.

Les systèmes de fichiers FAT sont les systèmes de fichiers par défaut pour les supports amovibles (à l’exception des CD et des DVD). Ils se trouvent généralement sur des disquettes, des disquettes, des cartes mémoire et flash ou des lecteurs flash USB. tels que PDA, appareils photo numériques, caméscopes, lecteurs multimédias ou téléphones mobiles. Alors que FAT12 est omniprésent sur les disquettes, FAT16 et FAT32 se trouvent généralement sur les plus gros supports.

FAT était également couramment utilisé sur les disques durs au cours des périodes DOS et Windows 9x, mais son utilisation sur les disques durs a diminué depuis l'introduction de Windows XP, qui utilise principalement le nouveau NTFS. FAT est toujours utilisé sur les disques durs susceptibles d’être utilisés par plusieurs systèmes d’exploitation, tels que les environnements partagés Windows, GNU / Linux et DOS.

En raison de l'utilisation généralisée des supports au format FAT, de nombreux systèmes d'exploitation prennent en charge FAT via des gestionnaires de systèmes de fichiers officiels ou tiers. Par exemple, OS / 2, GNU / Linux, FreeBSD et BeOS offrent un support intégré pour FAT, même s'ils prennent également en charge des systèmes de fichiers plus sophistiqués tels que ext4 ou btrfs. Mac OS 9 et macOS prennent en charge les systèmes de fichiers FAT sur des volumes autres que le disque de démarrage. AmigaOS prend en charge FAT via le package CrossDOS.

Pour de nombreuses raisons, le système de fichiers NTFS est supérieur à FAT en termes de fonctionnalités et de fiabilité; Ses principaux inconvénients sont la complexité et la taille excessive des petits volumes, ainsi que le support très limité des versions de Windows NT, car la spécification exacte est un secret commercial de Microsoft. La disponibilité de NTFS-3G depuis la mi-2006 a permis d'améliorer considérablement la prise en charge NTFS dans les systèmes d'exploitation de type Unix, ce qui a considérablement atténué ce problème. Il n'est toujours pas possible d'utiliser NTFS dans des systèmes d'exploitation de type DOS sans pilotes tiers, ce qui rend difficile l'utilisation d'une disquette DOS à des fins de récupération. Microsoft a fourni une console de récupération pour contourner ce problème, mais pour des raisons de sécurité, il limitait considérablement ce qui pouvait être fait par le biais de la console de récupération par défaut. Le déplacement d'utilitaires de récupération pour démarrer des CD basés sur BartPE, Linux (avec NTFS-3G) ou WinPE réduit cet inconvénient, mais la complexité de NTFS empêche son implémentation dans des systèmes d'exploitation légers ou la plupart des systèmes intégrés.

Le système de fichiers DCF adopté par presque tous les appareils photo numériques depuis 1998 définit un système de fichiers logique avec des noms de fichiers 8.3 et rend obligatoire l'utilisation de FAT12, FAT16, FAT32 ou exFAT pour sa couche physique afin d'optimiser l'interopérabilité des plates-formes.[6]

FAT est également utilisé en interne pour la partition système EFI (type de partition 0xEF) dans la phase de démarrage des ordinateurs compatibles EFI.[7]

Les systèmes de fichiers FAT masqués sont également utilisés dans la partition de démarrage UEFI sur les PC modernes, pour lesquels la spécification UEFI exige que le micrologiciel compatible soit capable de lire les partitions compatibles FAT12, FAT16 et FAT32.

Pour les disquettes, FAT a été normalisé en tant que ECMA-107[8] et ISO / CEI 9293: 1994[9] (remplace l'ISO 9293: 1987[10]). Ces normes couvrent FAT12 et FAT16 avec seulement un support de nom de fichier court 8.3; les noms de fichiers longs avec VFAT sont partiellement brevetés.[11]

Nomenclature

Techniquement, le terme "système de fichiers FAT" fait référence aux trois principales variantes du système de fichiers, FAT12, FAT16 et FAT32, et la plupart des parties les distinguent clairement si nécessaire.Contrairement à cela, Microsoft ne fait plus la distinction entre les trois depuis l’introduction de FAT32, et fait référence à FAT12 et FAT16 comme «FAT», tandis que «FAT32» est traité spécialement dans les boîtes de dialogue et la documentation. Cela peut parfois conduire à la confusion si le type de système de fichiers utilisé n'est pas mentionné ou ne peut pas être explicitement spécifié (par exemple, "Souhaitez-vous formater FAT ou FAT32?" Au lieu de "Voulez-vous formater FAT12, FAT16? ou FAT32? ").

Une autre cause fréquente de confusion existe dans le groupe de systèmes de fichiers FAT16, puisque le terme "FAT16" désigne à la fois le groupe entier de systèmes de fichiers FAT avec des entrées de cluster de 16 bits ou uniquement son implémentation 16 des entrées de secteur en bits, lorsqu'il devient nécessaire de faire la distinction entre l'implémentation d'origine et l'implémentation ultérieure. Bien que techniquement la variante la plus récente avec des entrées de secteur de 32 bits soit appelée "FAT16B", elle est communément appelée aussi "FAT16", en particulier parce que la variante originale est rarement vue aujourd'hui et généralement utilisée sur de petits supports en arrière. la compatibilité avec DOS avant 3.31 est requise.

De plus, le terme "VFAT" a également entraîné diverses idées fausses,[nb 2] comme il est parfois utilisé à tort comme s'il décrivait une autre variante du système de fichiers FAT à distinguer des systèmes de fichiers FAT12, FAT16 et FAT32, alors qu'en réalité il ne spécifie pas un autre système de fichiers, mais une extension facultative haut de tout système de fichiers FAT, FAT12, FAT16 ou FAT32. Les volumes utilisant des noms de fichiers longs VFAT peuvent également être lus par des systèmes d'exploitation ne prenant pas en charge l'extension VFAT, dans la mesure où tous les systèmes d'exploitation prenant en charge le système de fichiers sous-jacent (FAT12, FAT16 ou FAT32).

Une autre cause d'idées fausses vient d'une redondance apparente et d'une ambiguïté possible dans la définition des volumes FAT.Le type général de système de fichiers (FAT12, FAT16 ou FAT32) est déterminé par la largeur des entrées de cluster dans le FAT. Valeurs de seuil spécifiques pour le nombre de grappes[7] (tels que stockés dans le BPB) ont été définis pour déterminer quel type de FAT est utilisé. Même si d'autres propriétés telles que la taille du volume, le nombre de secteurs, le format BPB, le nom du système de fichiers dans un EBPB ou -dans le cas d'un média partitionné- l'ID de partition utilisé peut souvent sembler bien adapté Ces critères ne peuvent pas non plus être utilisés de manière fiable pour dériver le type de système de fichiers dans tous les scénarios.[7] Bien que peu courant, il est techniquement possible de définir un volume FAT12 ou FAT16 en utilisant un "FAT32 EBPB" (qui est en quelque sorte un abus de langage pour la variante EBPB introduite avec DOS 7.1), uniquement utilisé pour les volumes FAT32.[nb 3] En outre, bien que les ID de partition indiquent parfois des propriétés spéciales telles qu'un accès caché, sécurisé, CHS ou LBA à un système d'exploitation, ils ne sont généralement pas utilisés pour spécifier un type de fichier. système par eux-mêmes, mais plutôt pour garder les systèmes d'exploitation (anciens ou étrangers) pas au courant d'un ID de partition d'accéder aux partitions qu'ils ne peuvent pas gérer ou avec lesquelles ils ne devraient pas travailler.[12] Il faut donc distinguer les génériques Types de système de fichiers FAT tels que FAT12, FAT16 ou FAT32 de Types de partition FAT tels que FAT12, FAT16, FAT16B, FAT16X, FAT32, FAT32X etc.

Les types

Voir aussi: Chronologie des systèmes d'exploitation DOS

FAT 8 bits d'origine

FAT 8 bits
Développeur (s) Microsoft, NCR, SCP
Nom complet Table d'allocation de fichiers 8 bits
Introduit 1977/1978: NCR Basic +6 pour NCR
1978: Disque autonome BASIC-80 (entrées de répertoire de 16 octets)[13][14]
(1978: disque autonome BASIC-86 interne uniquement)
1979-06-04: Disque autonome BASIC-86 pour SCP (entrées de répertoire de 16 octets)
1979: MIDAS (entrées de répertoire de 32 octets)
Limites
Max. taille du fichier 8 Mo
Taille de fichier granularité enregistrement-granularité (128 octets)[13][14]
Max. longueur du fichier 6.3 nom de fichier (fichiers binaires), 9 caractères (fichiers ASCII)[13][14]
Max. profondeur du répertoire pas de sous-répertoires
Caractères autorisés dans les noms de fichiers ASCII (0x00 et 0xFF non autorisé dans le premier caractère)[13][14]
Caractéristiques
Dates enregistrées Non
Les attributs Écriture protégée, conversion EBCDIC, lecture après écriture, fichier binaire (fichier aléatoire plutôt que séquentiel)[13][14]

Le système de fichiers FAT d'origine (ou Structure FAT, comme il s'appelait initialement) a été conçu et codé par Marc McDonald,[15] basé sur une série de discussions entre McDonald et Bill Gates.[15] Il a été introduit avec des éléments de table de 8 bits[13][14][15] (et les numéros de grappe de données valides jusqu'à 0xBF[13][14]) dans un précurseur de Microsoft Disque autonome BASIC-80 pour un successeur basé sur 8080[n ° 4] du terminal d'entrée de données NCR 7200 modèle VI, équipé de disquettes de 8 pouces (200 mm), en 1977[16]/1978.[n ° 4] En 1978, Disque autonome BASIC-80 a été porté sur le 8086 en utilisant un émulateur sur un PDP DEC-10,[17] puisque aucun 8086 systèmes réels n'étaient disponibles en ce moment.Le système de fichiers FAT a également été utilisé dans Microsoft MDOS / MIDAS,[15] un système d'exploitation pour plates-formes 8080 / Z80 écrit par McDonald depuis 1979.le Disque autonome BASIC version pris en charge trois FAT,[13][14][18] alors que c'était un paramètre pour MIDAS. Selon certaines informations, MIDAS était également prêt à prendre en charge des variantes FAT 10 bits, 12 bits et 16 bits.Alors que la taille des entrées du répertoire était de 16 octets Disque autonome BASIC,[13][14] MIDAS occupait plutôt 32 octets par entrée.

Tim Paterson de Seattle Computer Products (SCP) a été introduit dans la structure FAT de Microsoft lorsqu'il a aidé Bob O'Rear à adapter Disque autonome BASIC-86 port émulateur sur le prototype de carte CPU 8086 du bus S-100 de SCP lors d'une semaine d'invité chez Microsoft en mai 1979.[17] Le produit final a été présenté au stand de Lifeboat Associates lors de la National Computer Conference à New York.[17] du 4 au 7 juin 1979, où Paterson a pris connaissance de la mise en œuvre de la FAT plus sophistiquée dans MDOS / MIDAS[15] et McDonald lui a parlé de la conception du système de fichiers.[16]

FAT12

FAT12
Développeur (s) SCP, Microsoft, IBM, Recherche numérique, Novell
Nom complet Tableau d'allocation de fichiers 12 bits
Introduit 1980-07 (QDOS 0.10, entrées de répertoire de 16 octets)
1981-02-25 (86-DOS 0.42, entrées de répertoire de 32 octets, plusieurs secteurs réservés)
Californie. 1981-08 / 10 (PC DOS 1.0, entrées de répertoire de 32 octets, 1 secteur réservé)
1982-03-03 (MS-DOS 1.25, entrées de répertoire de 32 octets, 1 secteur réservé)
Identifiant de partition MBR / EBR:
FAT12: 0x01 e.a.
BDP:
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Limites
Max. taille du volume 16 Mio (avec 4 grappes KiB)
32 Mio (avec 8 grappes KiB)
Max. taille du fichier limité par la taille du volume
Taille de fichier granularité 1 octet
Max. nombre de fichiers 4 068 pour 8 grappes KiB
Max. longueur du fichier 8.3 nom de fichier avec les caractères OEM,
255 caractères UCS-2[nb 1] en utilisant LFN
Max. profondeur du répertoire 32 niveaux ou 66 caractères (avec CDS),
60 niveaux ou plus (sans CDS)
Caractéristiques
Dates enregistrées Date de modification (pas avec 86-DOS avant 0.42), temps modifié (pas avec PC DOS 1.0 et 86-DOS), date de création (DOS 7.0 et supérieur uniquement), date d'accès (disponible uniquement avec ACCDATE activé),[2] date / heure de suppression (uniquement avec DELWATCH 2)
Plage de dates 1980-01-01 à 2099-12-31 (2107-12-31)
Résolution de date 2 secondes pour la dernière heure modifiée,
10 ms pour le temps de création,
1 jour pour la date d'accès,
2 secondes pour le temps de suppression
Les attributs Lecture seule (depuis DOS 2.0), Caché, Système, Volume (depuis MS-DOS 1.28 et PC DOS 2.0), Répertoire (depuis MS-DOS 1.40 et PC DOS 2.0), Archive (depuis DOS 2.0)
Autorisations du système de fichiers Droits d'accès aux fichiers, répertoires et volumes pour lire, écrire, exécuter, supprimer uniquement avec DR-DOS, PalmDOS, Novell DOS, OpenDOS, FlexOS, OS 4680, OS 4690, DOS simultané, DOS multi-utilisateur, Gestionnaire système, REAL / 32 (Exécuter droit uniquement avec FlexOS, 4680 OS, 4690 OS, mots de passe de fichiers / répertoires individuels non compatibles avec FlexOS, OS 4680, SE 4690, classes d'autorisations World / Group / Owner uniquement avec sécurité multi-utilisateur chargée
Compression transparente Par volume, SuperStor, Stacker, DoubleSpace, DriveSpace
Cryptage transparent Par volume uniquement avec DR-DOS

Entre avril et août 1980, tout en empruntant le concept FAT pour le système d'exploitation 8086 propre à SCP, QDOS 0.10,[17] Tim Paterson a étendu les éléments de la table à 12 bits,[19] réduit le nombre de FAT à deux, redéfini la sémantique de certaines des valeurs de cluster réservées et modifié la disposition du disque, de sorte que le répertoire racine se trouvait maintenant entre le FAT et la zone de données pour son implémentation de FAT12. Paterson a également augmenté le nom de fichier de neuf caractères (6.3)[13][14] limite de longueur à onze caractères afin de prendre en charge les noms de fichiers et les blocs de contrôle de fichiers CP / M-style 8.3. Le format utilisé dans Microsoft Disque autonome BASIC Le précurseur de système de fichiers 8 bits n'était pas pris en charge par QDOS. En août 1980, QDOS avait déjà été rebaptisé 86-DOS.[20] À partir de 86-DOS 0.42, la taille et la disposition des entrées de répertoire sont passées de 16 octets à 32 octets.[21] afin d'ajouter un timbre de date de fichier[21] et augmenter la limite de taille de fichier théorique au-delà de la limite précédente de 16 Mo.[21]86-DOS 1.00 est devenu disponible au début de 1981. Plus tard en 1981, 86-DOS est devenu MS-DOS et IBM PC DOS de Microsoft.[15][19][22] La possibilité de lire des volumes préalablement formatés avec des entrées de répertoire de 16 octets[21] a été supprimé avec MS-DOS 1.20.

Conçu à l'origine comme un système de fichiers pour les disquettes, FAT12 utilisait des entrées de 12 bits pour les adresses de cluster dans le FAT, ce qui non seulement limitait le nombre maximum possible de clusters de données à 4078 (pour les groupes de données 0x002 à 0xFEF)[23][24] ou dans certains scénarios contrôlés, jusqu'à 4084 (pour les groupes de données 0x002 à 0xFF5),[7][8][25] mais a rendu la manipulation FAT difficile avec les registres 8 bits et 16 bits du PC. (Bien que MS-DOS et PC DOS prennent en charge jusqu'à 4084 grappes de données sur des volumes FAT12 en général, la valeur de grappe 0xFF0[n ° 5] est traité comme marqueur de fin de chaîne supplémentaire sur tout volume FAT12[12] depuis MS-DOS / PC DOS 3.3, qui a également introduit le 0xF0 valeur du descripteur de média, limitant ainsi le nombre maximum de clusters de données à 4078 à des fins de compatibilité avec ces systèmes d'exploitation.)

La taille du disque a été stockée et calculée comme un nombre de secteurs de 16 bits, ce qui limite la taille à 32 Mio pour une taille de secteur logique de 512 octets. FAT12 a été utilisé par plusieurs fabricants avec des formats physiques différents, mais une disquette typique à l'époque était de 5,25 pouces (130 mm), unilatérale, 40 pistes, avec 8 secteurs par piste, ce qui donne une capacité de 160 KiB pour les deux les zones système et les fichiers. Les limites de FAT12 dépassaient cette capacité d'un facteur dix ou plus. (NB: la limite de 32 MoB a été contournée en utilisant des FAT sectorielles logiques avec des tailles de secteurs logiques supérieures à 512 octets dans certaines versions OEM de MS-DOS 3.x, mais cela est tombé en désuétude lorsque FAT16B est devenu disponible avec DOS 3.31. numéros de secteur -bit et ainsi levé les limites.)

Par convention, toutes les structures de contrôle ont été organisées pour s'adapter à la première piste, évitant ainsi les mouvements de la tête lors des opérations de lecture et d’écriture, bien que cela varie en fonction du fabricant et du format physique du disque. Une limitation qui n'a été adressée que beaucoup plus tard (avec FAT32) était que tout secteur défectueux dans la zone des structures de contrôle, piste 0, pouvait empêcher le disque d'être utilisable. L'outil de formatage DOS a complètement rejeté ces disques. Les secteurs défectueux ont été autorisés uniquement dans la zone de données de fichier et (depuis DOS 2.0) ont été marqués avec la valeur réservée 0xFF7 dans le FAT. Ils ont rendu le cluster entier inutilisable.

Alors que 86-DOS supportait trois formats de disque (250,25 KiB, 616 KiB et 1232 KiB avec FAT ID) 0xFF et 0xFE) sur des lecteurs de disquettes de 200 mm (8 pouces), IBM PC DOS 1.0, publié avec l’IBM Personal Computer en 1981, ne prend en charge qu’un format de disquette à 8 secteurs d’une capacité formatée de 160 Ko (FAT ID). 0xFE) pour les lecteurs de disquette 5,25 pouces à simple face, et PC DOS 1.1 a ajouté un support pour un format recto-verso avec 320 KiB (FAT ID 0xFF). PC DOS 2.0 introduit le support pour les formats de disquette 9 secteurs avec 180 KiB (FAT ID 0xFC) et 360 KiB (FAT ID 0xFD).

Les entrées du répertoire 86-DOS 1.00 et PC DOS 1.0 ne comportaient qu'une seule date, la dernière date de modification. PC DOS 1.1 a ajouté la dernière heure modifiée. Les attributs de fichier PC DOS 1.x incluaient un bit caché et un bit système, les six bits restants n'étant pas définis. À l’heure actuelle, DOS ne supportait pas un système de fichiers hiérarchisé, ce qui était toujours acceptable, étant donné que le nombre de fichiers sur un disque n’était généralement pas supérieur à quelques dizaines.

Le PC XT était le premier PC avec un disque dur d’IBM, et PC DOS 2.0 supportait ce disque dur avec FAT12 (FAT ID). 0xF8). L'hypothèse fixe de 8 secteurs par grappe sur les disques durs limite pratiquement la taille maximale de la partition à 16 Mio pour des secteurs de 512 octets et à 4 grappes KiB.

le Bloc de paramètres BIOS (BPB) a également été introduit avec PC DOS 2.0, et cette version a également ajouté des bits d'attribut en lecture seule, d'archivage, d'étiquette de volume et de répertoire pour les sous-répertoires hiérarchiques.[26]

MS-DOS 3.0 a pris en charge les disquettes à haute densité de 1,2 Mo de 5,25 pouces (descripteur de support 0xF9), qui comportait notamment 15 secteurs par piste, donc plus d'espace pour les FAT.

FAT12 reste utilisé sur toutes les disquettes courantes, y compris les disques 1.44 MiB et 2.88 MiB ultérieurs (octet descripteur de média) 0xF0).

FAT16 initial

FAT16
Développeur (s) Microsoft, IBM, Recherche numérique, Novell
Nom complet Tableau d'allocation de fichiers 16 bits
(avec des entrées de secteur de 16 bits)
Introduit 1984-08-14 (PC DOS 3.0)
1984-08 (MS-DOS 3.0)
Identifiant de partition MBR / EBR:
FAT16: 0x04 e.a.
BDP: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
Limites
Max. taille du fichier limité par la taille du volume
Taille de fichier granularité 1 octet
Max. nombre de fichiers 65 536 pour 32 grappes KiB
Max. longueur du fichier 8.3 nom de fichier avec les caractères OEM,
255 caractères UCS-2[nb 1] en utilisant LFN
Max. profondeur du répertoire 32 niveaux ou 66 caractères (avec CDS),
60 niveaux ou plus (sans CDS)
Caractéristiques
Dates enregistrées Date / heure modifiée, date / heure de création (DOS 7.0 et versions ultérieures uniquement), date d'accès (uniquement disponible avec ACCDATE activé),[2] date / heure de suppression (uniquement avec DELWATCH 2)
Plage de dates 1980-01-01 à 2099-12-31 (2107-12-31)
Résolution de date 2 secondes pour la dernière heure modifiée,
10 ms pour le temps de création,
1 jour pour la date d'accès,
2 secondes pour le temps de suppression
Les attributs Lecture seule, Caché, Système, Volume, Répertoire, Archive
Autorisations du système de fichiers Droits d'accès aux fichiers, répertoires et volumes pour lire, écrire, exécuter, supprimer uniquement avec DR-DOS, PalmDOS, Novell DOS, OpenDOS, FlexOS, OS 4680, OS 4690, DOS simultané, DOS multi-utilisateur, Gestionnaire système, REAL / 32 (Exécuter droit uniquement avec FlexOS, 4680 OS, 4690 OS, mots de passe de fichiers / répertoires individuels non compatibles avec FlexOS, OS 4680, SE 4690, classes d'autorisations World / Group / Owner uniquement avec sécurité multi-utilisateur chargée
Compression transparente Par volume, SuperStor, Stacker, DoubleSpace, DriveSpace
Cryptage transparent Par volume uniquement avec DR-DOS

Le 14 août 1984, IBM a sorti le PC AT, qui proposait un disque dur de 20 Mo et un PC DOS 3.0.[27][28] Microsoft a introduit MS-DOS 3.0 en parallèle. Les adresses de grappe ont été augmentées à 16 bits, permettant jusqu'à 65 524 grappes par volume et, par conséquent, des tailles de système de fichiers beaucoup plus importantes, du moins en théorie. Cependant, le nombre maximum possible de secteurs et la taille maximale (partition plutôt que disque) de 32 Mio n'ont pas changé. Par conséquent, bien que les adresses de cluster étaient de 16 bits, ce format n'était pas ce que l'on entend généralement aujourd'hui comme FAT16.Un type de partition 0x04 indique cette forme de FAT16 avec moins de 65536 secteurs (moins de 32 Mio pour la taille de secteur 512).

Avec l'implémentation initiale de FAT16 n'offrant pas réellement des tailles de partition plus grandes que FAT12, le premier avantage de FAT16 était de permettre l'utilisation de clusters plus petits, rendant l'utilisation du disque plus efficace, particulièrement pour un grand nombre de fichiers de quelques centaines d'octets.

Comme MS-DOS 3.0 et plus formait toutes les 16 partitions MiB-32 MiB au format FAT16, un disque dur 20 MiB formaté sous MS-DOS 3.0 n'était pas accessible par l'ancien MS-DOS 2.0 bien que MS-DOS 2.0 ait pu accéder 16 partitions MiB-32 MiB FAT12[29]. MS-DOS 3.0 à MS-DOS 3.30 peut toujours accéder aux partitions FAT12 moins de 15 MiB, mais les 16 partitions MiB-32 MiB doivent être FAT16 et n'ont pas pu accéder aux partitions MS-DOS 2.0 dans cette plage de taille. MS-DOS 3.31 et supérieur pourrait à nouveau accéder à 16 partitions MiB-32 MiB FAT12.

FAT logique sectorisé

Lorsque les disques durs ont grossi et que l'implémentation du système de fichiers FAT12 et FAT16 dans MS-DOS / PC DOS n'a pas permis de tirer parti du stockage supplémentaire, plusieurs fabricants ont développé leurs propres variantes FAT pour résoudre le problème des problèmes OEM MS-DOS. .[30]

Certains fournisseurs (AST et NEC[30]) pris en charge huit, au lieu des quatre entrées de partition principales dans leur extension personnalisée Master Boot Record (MBR), et ils ont adapté MS-DOS pour utiliser plus d'une partition primaire unique.

D'autres fournisseurs ont contourné les limites de taille de volume imposées par les entrées et arithmétiques du secteur 16 bits en augmentant le Taille des secteurs le système de fichiers a traité, gonflant ainsi des dimensions.

Ces soi-disant secteurs logiques étaient plus grands (jusqu'à 8192 octets) secteur physique taille (toujours généralement 512 octets) comme prévu par le ROM-BIOS INT 13H ou le matériel de lecteur de disque. Le BIOS DOS ou BIOS système combinerait alors plusieurs secteurs physiques en secteurs logiques pour que le système de fichiers fonctionne.Ces modifications étaient transparentes pour l’implémentation du système de fichiers dans le noyau DOS, car les volumes de niveaux d’abstraction sur le système de fichiers étaient considérés comme une série linéaire de secteurs adressables de manière logique, également appelés secteurs absolus (adressé par leur Numéro de secteur logique (LSN), en commençant par LSN 0) indépendamment de l'emplacement physique du volume sur le support physique et de sa géométrie. Le DOS-BIOS sous-jacent a traduit ces secteurs logiques en secteurs physiques en fonction des informations de partitionnement et de la géométrie physique du disque.

L'inconvénient de cette approche était une mise en mémoire tampon et un déblocage du secteur moins efficaces en termes de mémoire dans le DOS-BIOS, provoquant ainsi une empreinte mémoire accrue pour les structures de données DOS.Les anciennes versions de DOS n'étant pas assez flexibles pour fonctionner avec ces géométries logiques, les OEM devaient introduire de nouveaux identifiants de partition pour leurs variantes FAT afin de les cacher des problèmes standard de MS-DOS et de PC DOS. Les ID de partition connus pour les FAT à secteurs logiques incluent: 0x08 (Commodore MS-DOS 3.x), 0x11 (Leading Edge MS-DOS 3.x), 0x14 (AST MS-DOS 3.x), 0x24 (NEC MS-DOS 3.30[30]), 0x56 (AT & T MS-DOS 3.x), 0xE5 (Tandy MS-DOS), 0xF2 (Sperry IT MS-DOS 3.x, Unisys MS-DOS 3.3 - également utilisé par Digital Research DOS Plus 2.1).[31] Versions OEM comme Toshiba MS-DOS, Wyse MS-DOS 3.2 et 3.3,[32] ainsi que Zenith MS-DOS sont également connus pour avoir utilisé sectorisation logique.[33]

Bien que non-standard et sous-optimales, ces variantes FAT sont parfaitement valables selon les spécifications du système de fichiers lui-même. Par conséquent, même si les problèmes par défaut de MS-DOS et de PC DOS ne pouvaient pas y faire face, la plupart de ces variantes FAT12 et FAT16 peuvent être montées par des implémentations de systèmes de fichiers plus flexibles dans des systèmes d'exploitation tels que DR-DOS. en changeant l'ID de partition en l'un des types reconnus.[n ° 6] En outre, s’ils ne doivent plus être reconnus par leurs systèmes d’exploitation d’origine, les partitions existantes peuvent être «converties» en volumes FAT12 et FAT16 plus compatibles avec les versions MS-DOS / PC DOS 4.0-6.3, qui ne prennent pas en charge les tailles de secteur différentes. à partir de 512 octets,