File Allocation Table - Wikipedia, the free encyclopedia Page 1 of 22 File Allocation Table From Wikipedia, the free encyclopedia File Allocation Table (FAT) is a file system developed by Microsoft for MS-DOS and is the primary file system for consumer versions of Microsoft Windows up to and including Windows Me. FAT as it applies to flexible/floppy and optical disc cartridges (FAT12 and FAT16 without long filename support) has been standardized as ECMA-107 and ISO/IEC 9293. The file system is partially patented. The FAT file system is relatively uncomplicated, and is supported by virtually all existing operating systems for personal computers. This ubiquity makes it an ideal format for floppy disks and solid-state memory cards, and a convenient way of sharing data between disparate operating systems installed on the same computer (a dual boot environment). The most common implementations have a serious drawback in that when files are deleted and new files written to the media, directory fragments tend to become scattered over the entire disk, making reading and writing a slow process. Defragmentation is one solution to this, but is often a lengthy process in itself and has to be performed regularly to keep the FAT file system clean. Defragmentation should not be performed on solid-state memory cards since they wear down eventually. Contents 1 History 1.1 FAT12 1.2 Directories 1.3 Initial FAT16 1.4 Extended partition and logical drives 1.5 Final FAT16 1.6 Long File Names (VFAT, LFNs) 1.7 FAT32 1.8 Fragmentation 1.9 Third party support 1.10 FAT and Alternate Data Streams 1.11 Future 1.12 exFAT 2 Design 2.1 Boot Sector 2.1.1 Exceptions 2.2 File Allocation Table 2.3 Directory table 2.3.1 Long file names 2.3.2 Third-party extensions 3 FAT licensing 3.1 Appeal 4 See also 5 References 6 External links http://en.wikipedia.org/w/index.php?title=File_Allocation_Table&printable=yes 2/20/2008 File Allocation Table - Wikipedia, the free encyclopedia Page 2 of 22 History FAT12 FAT16 FAT32 exFAT (aka FAT64) The FAT Developer Microsoft file system Full Name File Allocation Table was created for (12-bit version) (16-bit version) (32-bit version) (ex-tended version) managing disks in Introduced 1977 (Microsoft November 1987, August 1996 March 2008 Microsoft Disk BASIC) (Compaq DOS 3.31) (Windows 95 OSR2) (Vista SP1) Standalone Partition 0x01 (MBR) 0x04, 0x06, 0x0E 0x0B, 0x0C (MBR) TBU Disk identifier (MBR) EBD0A0A2-B9E5- 4433 BASIC. In -87C0-68B6B72699C7 August (GPT) 1980 Tim Structures Paterson Directory Table contents File allocation Linked List Bad blocks Cluster tagging Limits Max file size 4 GiB − 1 byte (or volume size if smaller) Max number of 4,077 (212-19) 65,517 (216-19) 268,435,437 (228-19) TBU files Max filename 8.3 filename 255 characters when TBU size using LFN/vfat Max volume size 32 MiB 2 GiB 8 TiB 264 bytes (16 4 GiB with 64k Exabytes) clusters (not widely supported) Features Dates recorded Creation, modified, access (accuracy to day only) (Creation time and access date are only available when LFN support is enabled) Date range January 1, 1980 - December 31, 2107 Forks Not natively Attributes Read-only, hidden, system, volume label, subdirectory, archive Permissions No Transparent Per-volume, Stacker, DoubleSpace, No TBU compression DriveSpace Transparent Per-volume only with DR-DOS No TBU encryption incorporated FAT into his 86-DOS operating system for the S-100 8086 CPU boards;[1] the file system was the main difference between 86-DOS and its predecessor, CP/M. http://en.wikipedia.org/w/index.php?title=File_Allocation_Table&printable=yes 2/20/2008 File Allocation Table - Wikipedia, the free encyclopedia Page 3 of 22 The name originates from the usage of a table which centralizes the information about which areas belong to files, are free or possibly unusable, and where each file is stored on the disk. To limit the size of the table, and the number of bits required in directory entries, disk space is allocated to files in contiguous groups of hardware sectors called clusters. The maximum possible number of clusters has dramatically increased over time, and the number of bits required to identify a cluster is used to name the successive major versions of the format. The FAT standard has also been expanded in other ways while preserving backward compatibility with existing software. FAT12 This initial version of FAT is now referred to as FAT12. Designed as a file system for floppy diskettes, it had the following limitations: Cluster addresses were only 12 bits long, which not only limited the cluster count to 4078[2], but made FAT manipulation a bit tricky with the PC's 8-bit or 16-bit registers. (Under Linux, FAT12 is limited to 4084[3] clusters.) The disk size was stored as a 16-bit count of sectors, which limited the size to 32 MiB. FAT12 was used by several manufacturers with different physical formats but a typical floppy diskette at the time was 5.25-inch, single-sided, 40 tracks, with 8 sectors per track, resulting in a capacity of only 160 KiB for both the system areas and files. The FAT12 limitations exceeded this capacity by one or more orders of magnitude. The limits were successively lifted in the following years which increased storage capacity dramatically but eventually rendered FAT12 obsolete. By convention all the control structures were organized to fit inside the first track, thus avoiding head movement during read and write operations, although this varied depending on the manufacturer and physical format of the disk. Since when FAT12 was introduced DOS had no support for hierarchical directories, the maximum number of files was typically limited to a few dozen. A limitation which was not addressed until much later was that any bad sector in the control structures area, track 0, could prevent the diskette from being usable. The DOS formatting tool rejected such diskettes completely. Bad sectors were only allowed in the file area, where they made the entire holding cluster unusable as well. Directories In March 1983, IBM launched the PC XT computer, which featured a 10 MB hard disk. MS-DOS/PC- DOS 2.0 was released simultaneously, and introduced hierarchical directories to properly support the "massive" capacity the new medium provided. Apart from allowing for better organization of files, directories allowed it to store many more files on the hard disk, as the maximum number of files was no longer constrained by the (still fixed) root directory size. This number could now be equal to the number of clusters (or even greater, given that zero-sized files do not use any clusters on FAT). The format of the FAT itself did not change. The 10 MB hard disk on the PC XT had 4 KiB clusters. If a 20 MB hard disk was later installed, and formatted with MS-DOS 2.0, the resultant cluster size would be 8 KiB. The boundary for determining which cluster size to use was at 15.9 MiB. Initial FAT16 In 1984 IBM released the PC AT, which featured a 20 MB hard disk. Microsoft introduced MS-DOS 3.0 http://en.wikipedia.org/w/index.php?title=File_Allocation_Table&printable=yes 2/20/2008 File Allocation Table - Wikipedia, the free encyclopedia Page 4 of 22 in parallel. Cluster addresses were increased to 16-bit, allowing for a greater number of clusters (up to 65,517) and consequently much greater file-system sizes. However, the maximum possible number of sectors and the maximum (partition, rather than disk) size of 32 MiB did not change. Therefore, although technically already "FAT16", this format was not yet what today is commonly understood under this name. A 20 MiB hard disk formatted under MS-DOS 3.0 was not accessible by the older MS- DOS 2.0. Of course, MS-DOS 3.0 could still access MS-DOS 2.0 style 8 KiB cluster partitions. MS-DOS 3.0 also introduced support for high-density 1.2 MB 5.25" diskettes, which notably had 15 sectors per track, hence more space for FAT. This probably prompted a dubious optimization of the cluster size, which went down from 2 sectors to just 1. The net effect was that high density diskettes were significantly slower than older double density ones. Extended partition and logical drives Apart from improving the structure of the FAT file system itself, a parallel development allowing an increase in the maximum possible FAT storage space was the introduction of multiple FAT partitions. Originally partitions were supposed to be used only for sharing the disk between operating systems, typically DOS and Xenix at the time, so DOS was only prepared to handle one FAT partition. It was not possible to create multiple DOS partitions using DOS tools, and third party tools would warn that such a scheme would not be compatible with DOS. Simply allowing several identical-looking DOS partitions could lead to naming problems: should C: be the first FAT partition on disk, for simplicity, or rather the partition marked as active in the partition table, so that several DOS versions can co-exist? And which partition should be C: if the system was booted from a diskette? To allow the use of more FAT partitions in a compatible way, a new partition type was introduced (in MS-DOS 3.2, January 1986), the extended partition; which was actually just a container for additional partitions called logical drives. Originally only 1 logical drive was possible, allowing the use of hard disks up to 64 MB.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages22 Page
-
File Size-