SUMMARY
This article provides information on files stored on a FAT partition under
Windows NT 3.1. It is divided into two sections:
- FAT Files are Larger than NTFS or HPFS Files
- 32-bit Commands Result in Large Initial File Sizes
FAT Files are Larger than NTFS or HPFS Files
Files stored on a FAT file system take more disk space than on HPFS or NTFS
file systems. This is because the FAT file system uses clusters to allocate
disk space for files. Clusters represent the minimum amount of disk space
any file can use. For example: If your cluster size is 4K and you create a
1 byte file, you will waste almost 4095 bytes.
If you are storing many large files on a FAT file system, the wasted space
is minimal. But, if you have many small files, the wasted space can be
equal to or greater than the amount of data you are storing.
FAT cluster size is dependent on the size of the logical drive. Because the
FAT file system can only track a maximum of 64K clusters, the larger the
logical drive or partition, the larger the cluster size. Also, there is a
maximum cluster size of 64K, making the largest logical drive size 4
gigabytes.
NOTE: The maximum cluser size under MS-DOS is 32K, making the largest
logical drive size 2 gigabytes.
HPFS and FAT both have a fixed sector size of 512 bytes. HPFS uses a
cluster size of two sectors (1K). NTFS supports cluster sizes of 512, 1024,
2048, and 4096 bytes.
NOTE: In some cases, files stored on an NTFS partition may be bigger than
the same files stored on a FAT partition. This is because NTFS stores all
files in the master file table in 2048 byte blocks. If a FAT partition is
using 512 byte clusters, it will store a small file more efficiently than
NTFS.
32-bit Commands Result in Large Initial File Sizes
Using 32-bit commands from Microsoft Visual C/C++ to create a file on a FAT
partition under Windows NT will cause the file to take more space on the
hard drive than is expected. This behavior is designed to optimize write
operations to the file. 64K blocks are allocated so that later write
operations to the file can be made to a contiguous area of disk space. Once
the file is closed, the file size is reduced to the amount of space
actually used by the file. And, the amount of disk space allocated when the
files are opened is lowered as the total amount of disk space on the drive
decreases.