File Systems Overview
This document introduces the file systems used by major operating systems, and explains how they differ from one another.
A file system is a method of organizing files on physical media, such as hard disks, CD's, and flash drives. In the Microsoft Windows family of operating systems, users are presented with several different choices of file systems when formatting such media. These choices depend on the type of media involved and the situations in which the media is being formatted. The two most common file systems in Windows are as follows:
The NTFS file system
NTFS (short for New Technology File System) is a modern, well-formed file system that is most commonly used by Windows Vista, 7 & 8. It has feature-rich, yet simple organization that allows it to be used on very large volumes.
NTFS has the following properties:
NTFS partitions can extend up to 16EB (about 16 million TB).
Files stored to NTFS partitions can be as large as the partition.
NTFS partitions occasionally become fragmentented and should be defragmented every one to two months.
NTFS partitions can be read from and written to by Windows and Linux systems and, can only be read from by Mac OS X systems (by default). Mac OS X, with the assistance of the NTFS-3G driver, can write to NTFS partitions. Installation instructions for the NTFS-3G driver can be found here: Mac OS X - Writing to NTFS drives
It is recommended that NTFS be used on all media whose use is primarily with modern Windows systems. It should not be used for devices which need to be written to by Mac OS X systems or on media that is used in devices which are not compatible with NTFS.
The FAT file system
The FAT (short for File Allocation Table) file system is a general purpose file system that is compatible with all major operating systems (Windows, Mac OS X, and Linux/Unix). It has relatively simple technical underpinnings, and was the default file system for all Windows operating systems prior to Windows 2000. Because of its overly simplistic structure, FAT suffers from issues such as over-fragmentation, file corruption, and limits to file names and size.
The FAT file system has the following properties:
FAT partitions cannot extend beyond 2TB.
- NOTE: Windows cannot format a disc larger than 32 GB to FAT32, but Mac OS X can.
Files stored to a FAT partition cannot exceed 4GB.
FAT partitions need to be defragmented often to maintain reasonable performance.
FAT partitions larger than 32GB are generally not recommended as that amount of space starts to overwhelm FAT's overly simplistic organization structure.
FAT is generally only used for devices with small capacity where portability between operating systems is paramount. When choosing a file system for a hard disk, FAT is not recommend unless you are using an older version of Windows.
NOTE: This section refers to the FAT32 file system. Some early versions of Windows 95 used the FAT16 file system, which had even more technical issues and stricter limitations. It is recommended that FAT16 is never used on any modern media.
The exFAT file system
The exFAT (Extended File Allocation Table) is a Microsoft file system that is compatible with Windows and Mac OS 10.6+. It is also compatible with many media devices such as TVs and portable media players.
exFAT has the following properties:
exFAT partitions can extend up extremely large disc sizes. 512 TiB is the recommended maximum.
Files up to 16 EiB can be stored on an exFAT partition.
exFAT is not compatible with linux/Unix.
exFAT partitions should be defragmented often.
exFAT cannot pre-allocate disk space.
The HFS Plus file system
HFS (Hierarchical File System) Plus is a file system developed by Apple for Mac OS X. It is also referred to as Mac OS Extended.
HFS Plus has the following properties:
Maximum volume is 8 EB (about 8 million TB).
Files stored to HFS+ partitions can be as large as the partition.
Windows users can read HFS+ but not write.
Drivers are available that allow Linux users to read and writer to HFS+ volumes.
The EXT file system
The extended file system was created to be used with the Linux kernel. EXT 4 is the most recent version of EXT.
EXT4 has the following properties:
EXT4 can support volumes up to 1 EiB.
16 TB maximum file size.
Red Hat recommends using XFS (not EXT4) for volumes over 100 TB.
EXT4 is backwards compatible with EXT2 and EXT3.
EXT4 can pre-allocate disk space.
By default, Windows and Mac OS cannot read EXT file systems.
Exbibyte (EiB) - 1 exbibyte = 1.153e18 bytes = 1152921504606846976 bytes = 1,024 pebibytes
Pebibyte (PiB) - 1 pebibyte = 1.126e15 bytes = 1125899906842624 bytes = 1024 tebibytes
Exabyte (EB) - 1000000000000000000 bytes = 1e18 bytes = 1 million terabytes = 1 billion gigabytes
Terabyte (TB) - 1000000000000 bytes = 1e12 bytes = 1000gigabytes