File Allocation Counts

See also: FAT

Summary

FAT , Acronyme English of file allowance counts (table of allowance of files), is a relatively basic Filesystem. It was conceived by Bill Gates and Marc McDonald for Microsoft Disk BASIC, then re-used in QDOS of which it is the only element which is not inspired by CPM (QDOS is the ancestor of MS-DOS, written by Tim Paterson). It was then used under MS-DOS then in the branch 9x of Windows. The branch NT will use it NTFS.

FAT was conceived at the beginning for Disquette S of 160 KB, but one of its larger defects was the limited number of characters in the names of the files (the famous 8.3 ): 1 to 8 characters, a point and 0 to 3 characters, without reference to breakage. This defect was solved in MS-DOS 7 (MS-DOS of Windows 95) thanks to an easy way preserving compatibility: the system VFAT. But it gives access to the long names only inside Windows 95. The later versions of MS-DOS did not correct this problem because of the preponderance of Windows. VFAT also makes it possible to use the small letters and the characters Unicode in the file names.

FAT evolved/moved in various versions, all supported by the last versions of MS-DOS and the current versions of Windows, which were made necessary by the evolution of storage capacities of the discs:

  • FAT12 : maximum of 212, is 4  096 Cluster S of size fixed (selected at the beginning between 512 bytes and 4 KB). Used inter alia on the diskettes.
  • FAT16 : maximum of 216, is 65  536 clusters of fixed size (selected at the beginning between 2 KB and 32 KB).
  • VFAT: An evolution of the FAT, allowing to manage the long names in Windows 95 and the following versions. It applies to all the versions of FAT (FAT12, FAT16, FAT32…).
  • FAT32 : appeared with Windows 95 OSR2, it supports a maximum of 228 (268 million!) of clusters of variable size of 4 KB to 32 KB, with resumption of system VFAT. Let us note that the size of the files cannot exceed 4 Go.

In spite of its lack of resistances to the breakdowns compared to its competitors, FAT remains today (2005) very much used, in particular on the memory cards for numerical cameras because of the simplicity of its implementation allowing the use in systems embarked as well as assured compatibility with Windows and much of other operating systems.

Microsoft tried in December 2003 to deposit a patent on FAT, in order to be able to charge fees on the licenses which would have been granted to the manufacturers electronic devices. But the request was rejected in September 2004.

It however was validated in January 2006, after Microsoft had supplemented its sales leaflet.

Technical side

The filing system FAT is composed of 3 great sections:

  1. the " sector of boot " or " BPB".
  2. : It is the first sector of the disc.
  3. " tables of allocation" or " FATs".
  4. : It is a chart disc.
  5. the " repertory racine" or " Root directory".
  6. : It is a list of the files present at the root of the disc.

The BPB

Structure

The sector of boot has the following format:

The following table explains the continuation of the BPB for discs FAT12/16 (for the FAT32 to see low):

The following table explains the continuation of the BPB for discs FAT32 (for FAT12/16 to see higher):

Example

No the example.

FAT

Cluster

A cluster is a group of sectors. It is used as unit of allowance with the files. Each cluster thus stores the data of a file. For a file of 9000 bytes for example, on a using disc of the clusters of 8192 bytes (that is to say 16 sectors of 512 bytes), 2 clusters are used, whose last uses only 808 bytes (9000 - 8192).

Structure

A table of allowance is a chart where each number represents a cluster. This table is a table of numbers, indexed by a number of cluster. The following table gives the possible values for these numbers:

Example

Note:: In this example a file uses, in the order, the clusters 2,3,4,6 and 7.

Root Directory

Structure

The root directory is a list of entry. The entries of the root directory have the following format:

|- |align=" right" |0x08 |align=" right" |3 |Extension (filled by spaces) |- |align=" right" |0x0b |align=" right" |1 |Attributes of the file: The value of attributes 0x0F is used to indicate a long file name. |- |align=" right" |0x0c |align=" right" |1 |Reserve, used by NT |- |align=" right" |0x0d |align=" right" |1 |Hour of creation: by unit of 10ms (0 to 199). |- |align=" right" |0x0e |align=" right" |2 |Hour of creation: |- |align=" right" |0x10 |align=" right" |2 |Creation date: |- |align=" right" |0x12 |align=" right" |2 |Date from the last access; to see offset 0x10 for description. |- |align=" right" |0x14 |align=" right" |2 |Index EA (used by OS/2 and NT) for FAT12 and FAT16; 2 bytes of strong weight of the number of the first cluster for FAT32 |- |align=" right" |0x16 |align=" right" |2 |Hour of last modification; to see offset 0x0e for description. |- |align=" right" |0x18 |align=" right" |2 |Go back to last modification; to see offset 0x10 for description. |- |align=" right" |0x1a |align=" right" |2 |Number of the first cluster of file (FAT12 and FAT16); 2 bytes of weak weight of this number (FAT32). |- |align=" right" |0x1c |align=" right" |4 |Cut file |}

When the file is a repertory (see bits attributes), the contents are a structure identical to the preceding format, and start with the two entries “.” and “.”.

See too

External bond

  • FAT Spins System (MSDN)

Random links:Callandreau octave | -1206 | New Democratic party of Ground-New-and-Labrador | Cyathea dealbata | Uraniidae