Difference between revisions of "FAT file system"

From Computer History Wiki
Jump to: navigation, search
(Gives the basics)
 
m (+New cat)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The '''File Allocation Table''' (usually abbreviated to '''FAT''') if the name of a group of related [[file system]]s used in [[MS-DOS]] and early [[Microsoft Windows|Windows]] [[operating system]]s. The first was '''FAT12''' (used by [[floppy disk]]s), from which descended '''FAT16''' and '''FAT32''' (the last used by only by [[hard disk]]s).
+
The '''File Allocation Table file systems''' (usually abbreviated to '''FAT''') are the name of a group of related [[file system]]s used in [[MS-DOS]] and early [[Microsoft Windows|Windows]] [[operating system]]s. The first was '''FAT12''' (used by [[floppy disk]]s), from which descended '''FAT16''' and '''FAT32''' (the last used only by [[hard disk]]s).
  
The name comes from the way they indicate which [[disk block]]s of the [[disk]] are used by any given [[file]], and which blocks are free and available for use - the 'file allocation table'. (FAT file systems were not the first to use this approach; others OS's, such as [[Incompatible Timesharing System|ITS]], had used a similar approach long before.) The disk contains, at the start of the disk, a large [[array]] of entries, one for each 'cluster' (group of blocks) of the disk; each entry indicates whether that cluster is free (and thus available for allocation), or part of a file. For clusters which are part of a file, their entries in the FAT are used to tie them together. (For robustness, there are two identical copies of the FAT.)
+
The name comes from the way they indicate which [[disk block]]s of the [[disk]] are used by any given [[file]], and which blocks are free and available for use - the 'file allocation table'. The disk contains, at the start of the disk, a large [[array]] of entries, one for each 'cluster' (group of blocks) of the disk; each entry indicates whether that cluster is free (and thus available for allocation), or part of a file. (For robustness, there are two identical copies of the FAT.) (FAT file systems were not the first to use this approach; others OS's, such as [[Incompatible Timesharing System|ITS]], had used a similar approach long before.)
  
The array elements are of size 12, 16 and 32 bits in FAT12, FAT16 and FAT32 file systems. FAT32 was a relatively late addition; it was added in [[Windows 95]] OSR 2.
+
For clusters which are part of a file, their entries in the FAT are used to tie them together. The array elements are of size 12, 16 and 32 bits in FAT12, FAT16 and FAT32 file systems. FAT32 was a relatively late addition; it was added in [[Windows 95]] OSR 2.
  
Unlike the [[UNIX file system]], which strictly separates the functions of the ''naming'' of files (via [[directory|directories]]), and indicating ''where'' the files are stored, FAT file systems to some extent merge these two - again, like earlier file systems. The directory entry of a file indicates which cluster is the first cluster of the file; from there, FAT elements form a [[linked list]] of all the clusters in the file.
+
Unlike the [[UNIX file system]], which strictly separates the functions of the ''naming'' of files (via [[directory|directories]]), and indicating ''where'' the files are stored, FAT file systems to some extent merge these two - again, like earlier file systems. The directory entry of a file indicates which cluster is the first cluster of the file; from there, FAT elements form a [[list|linked list]] of all the clusters in the file.
  
Like the Unix file system, most directories are stored in what are effectively files; the root directory is a special case, and is stored in a specially allocated area at the start of the disk.
+
Like the UNIX file system, in the FAT file system, most directories are stored in what are effectively files; the FAT root directory is a special case, and is stored in a specially allocated area at the start of the disk.
 +
 
 +
==File names==
 +
 
 +
Early FAT filesystems used [[8.3 file names]] exclusively; starting with Windows 95, file names of us to 255 bytes were possible, but the operating system automatically produced a second file name for such files, one which conformed to the [[syntax]] of 8.3 file names, for [[backward compatibility]] at the [[system call]] level..
  
 
{{semi-stub}}
 
{{semi-stub}}
Line 19: Line 23:
 
* [https://learn.microsoft.com/en-US/windows/win32/fileio/exfat-specification exFAT file system specification] - also covers FAT12, FAT16 and FAR32
 
* [https://learn.microsoft.com/en-US/windows/win32/fileio/exfat-specification exFAT file system specification] - also covers FAT12, FAT16 and FAR32
 
* [https://www.win.tue.nl/~aeb/linux/fs/fat/fat-1.html The FAT filesystem]
 
* [https://www.win.tue.nl/~aeb/linux/fs/fat/fat-1.html The FAT filesystem]
 +
* [https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/142982 How Windows Generates 8.3 File Names from Long File Name]
  
 
[[Category: File Systems]]
 
[[Category: File Systems]]
 +
[[Category: PC Disk Formats]]
 
[[Category: Microsoft Operating Systems]]
 
[[Category: Microsoft Operating Systems]]

Latest revision as of 18:15, 12 June 2023

The File Allocation Table file systems (usually abbreviated to FAT) are the name of a group of related file systems used in MS-DOS and early Windows operating systems. The first was FAT12 (used by floppy disks), from which descended FAT16 and FAT32 (the last used only by hard disks).

The name comes from the way they indicate which disk blocks of the disk are used by any given file, and which blocks are free and available for use - the 'file allocation table'. The disk contains, at the start of the disk, a large array of entries, one for each 'cluster' (group of blocks) of the disk; each entry indicates whether that cluster is free (and thus available for allocation), or part of a file. (For robustness, there are two identical copies of the FAT.) (FAT file systems were not the first to use this approach; others OS's, such as ITS, had used a similar approach long before.)

For clusters which are part of a file, their entries in the FAT are used to tie them together. The array elements are of size 12, 16 and 32 bits in FAT12, FAT16 and FAT32 file systems. FAT32 was a relatively late addition; it was added in Windows 95 OSR 2.

Unlike the UNIX file system, which strictly separates the functions of the naming of files (via directories), and indicating where the files are stored, FAT file systems to some extent merge these two - again, like earlier file systems. The directory entry of a file indicates which cluster is the first cluster of the file; from there, FAT elements form a linked list of all the clusters in the file.

Like the UNIX file system, in the FAT file system, most directories are stored in what are effectively files; the FAT root directory is a special case, and is stored in a specially allocated area at the start of the disk.

File names

Early FAT filesystems used 8.3 file names exclusively; starting with Windows 95, file names of us to 255 bytes were possible, but the operating system automatically produced a second file name for such files, one which conformed to the syntax of 8.3 file names, for backward compatibility at the system call level..

See also

External links