Thursday 14 April 2016

FAT12

This initial version of FAT is now referred to as FAT12. As a filesystem for floppy disks, it
had a number of limitations: no support for hierarchical directories, cluster addresses were "only"
12-bits long (which made the code manipulating the FAT a bit tricky) and the disk size was stored
as a 16-bit count of sectors, which limited the size to 32MB.

An entry-level diskette at the time would be 5.25", single-sided, 40 tracks, with 8 sectors per
track, resulting in a capacity of slightly less than 160KB. The above limits exceeded this capacity
by one or more orders of magnitude and at the same time allowed all the control structures to fit
inside the first track, thus avoiding head movement during read and write operations. The limits
were successively lifted in the following years.

Since the sole root directory had to fit inside the first track as well, the maximum possible
number of files was limited to a few dozens.

Directories

In order to properly support the newer IBM PC XT computer, which featured a 10 MB hard
disk, MS-DOS 2.0 was released around the same time, at the beginning of 1983, and introduced
hierarchical directories. Apart from allowing for better organisation 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 KB
clusters. If a 20 MB hard disk was later installed, and formatted with MS-DOS 2.0, the resultant
cluster size would be 8 KB, the boundary at 15.9 MB.

No comments:

Post a Comment

Popular Posts