FAT16

MS-DOS and the initial release of Windows 95 support only the FAT16 filesystem. FAT16 uses 16-bit addressing, which limits it to 65,536 discrete addresses. If FAT16 addressed individual sectors, it could access only (65,536 sectors × 512 bytes/sector = 33,554,432 bytes), or 32 MB. To get around this small limit, FAT addresses clusters rather than individual sectors. A cluster is a group of sectors. The number of sectors/cluster is always a power of two, is constant within a volume, and is determined automatically based on the size of that volume. Table 14-1 lists the cluster sizes that FAT16 uses for various partition sizes.

Table 14-1. The relationship of FAT16 partition size to cluster size

Partition size (MB)

Sectors / Cluster

Cluster size

0 - 32

1

512 bytes

33 - 64

2

1 KB

65 - 128

4

2 KB

129 - 255

8

4 KB

256 - 511

16

8 KB

512 - 1023

32

16 KB

1024 - 2047

64

32 KB

The downside to using clusters is that a cluster is the smallest addressable unit on the volume, so each file must occupy at least one cluster, and every file on average wastes half a cluster. This means, for example, that storing a 1-byte file on a FAT16 volume larger than 1 GB requires 32,768 bytes of disk space, and that storing a 32,769-byte file requires 65,536 bytes of disk space.

This allocated but unoccupied and unusable disk space is referred to as slack space. Large FAT16 volumes with many files have a lot of it. For example, a 1+ GB FAT16 volume with 15,000 files, each of which ...

Get PC Hardware in a Nutshell, 3rd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.