Do you really know what your hard drive does whenever you read a file from it or write one to it? Our hard drives can now store massive amounts of data, and that massive space requires a high level of organization in order to prevent issues and maintain performance. Hard drives can be well organized through the use of file systems, which operating systems usually set up before installing themselves onto your system.
But, as you might guess, there’s more than one file system. So what file systems are out there, what do they do, and what are their differences?
The most common file system in the entire world of computing is File Allocation Table, or simply FAT, and is developed by Microsoft. It has been around for quite a while, and has received updates in the forms of FAT16 and FAT32, although generally they’re all just called FAT. Out of all the major file systems, FAT is by far the simplest and can only hold files with sizes up to 4GB each. It uses a linked list structure, and is therefore not a “journaling” file system. It is rarely found on hard drives anymore, but almost always on removable media such as USB drives and SD cards. Virtually all operating systems have support for FAT file systems, so it is readable on any device. It’s also very easy to format a drive to FAT.
NTFS, or New Technology File System, is the next-generation file system developed by Microsoft. Its structure is more complex, and has been used for Microsoft’s operating systems starting with Windows XP. It is a “journaling” file system, meaning that it keeps records of all operations on the device. This journal can help detect errors and recover from them for instances such as drive failure or a power outage. Files up to 16 TB each are supported, with maximum volume sizes up to 256 TB. While not quite as universal as FAT, it can still be read on all major operating systems with ease. NTFS is best suited for hard drives and other not-easily-removable media, although removable media can still technically be formatted with this file system.
You can also look up more information about the advantages of NTFS over FAT.
HFS+ is a file system developed by Apple for use on their Macintosh computers. It uses the same type of structures for its file allocation as NTFS, but the two file systems are not compatible. The file system is able to support files and volumes of up to just over a million terabytes. It is also a “journaling” file system, allowing easier recovery when errors occur. As it is meant for Macintosh computers, it is only found on hard drives within those systems. Mac OS X and Linux are able to use the file system, but Windows is not.
ext4 is the currently most-used file system for Linux systems. It is the successor to both ext2 and ext3, and includes some performance increases using different techniques. It is also a “journaling” file system. ext4 is meant for hard drives, so they do not appear on removable media because of its properties as well as its lack of widespread use. It is able to support files up to 16 TiB and volumes up to 1 EiB. Because ext4 is backwards compatible with ext2 and ext3, people can mount such volumes as an ext4 volume to get a slight performance increase thanks to a different allocation algorithm on the software end. Windows users are able to at least get read access to ext file systems with Ext2Read.
Additionally, if you’re new to Linux, you can check out our awesome guide on getting started.
btrfs, pronounced “B-Tree FS”, “Better FS”, or “Butter FS”, is an upcoming file system for Linux distributions which aims to fix many of the issues found in the older ext file system series. The file system is also a “journaling” file system. Some differences include a maximum file and volume size of 16 EiB, as well as capabilities of data pooling (spanning the file system across multiple physical hard drives), nanosecond time resolution, snapshots, transparent compression, transparent encryption, and data deduplication. At least for now, the only operating system which supports btrfs is Linux, and it is currently considered unstable. It’s predicted that btrfs will eventually replace ext4, and this article explains why.
ZFS is a file system which is known only in the Unix world. With support for files and volumes of up to 16 Exabytes, ZFS isn’t known for performance but supports plenty of great features such as data corruption protection, combination of file system and volume management concepts (including pooling), snapshots, transparent compression, transparent encryption, and data deduplication. It is considered stable since 2005, however, and is supported with Mac OS X 10.5 Server, Linux, and other smaller Unix-like operating systems. While it seems similar to btrfs, ZFS doesn’t promise the same performance as btrfs. ZFS is also more common in enterprise environments than it is in homes.
More likely than not, you’ll run into these 6 file systems at some point in your life. As you can see, these all have their different advantages, including operating system support, size and volume sizes, and file system-specific functions such as compression and encryption. Therefore, the choice is up to you which file system you’d like to use, depending on what your usage is like, what media you’re considering, and what operating system you use. While choosing a file system doesn’t seem to make much of a difference, choosing the right one can make your experience better.
What file systems do you use, and which are your favorite? What file system features do you like the most? Let us know in the comments!