When we talk about the Windows OS, we realize that the operating system installs on a partition formatted with the NTFS file system. For removable drives and another form of USB interface-based storage, we use FAT32. Additionally, the removable drives and memory cards can also be formatted with the exFAT file system, which is a derivative to the old FAT32. Have you ever thought about the differences between FAT32, NTFS, and ExFAT, and what is a file system?
What Is A File System?
A file system is basically a set of rules used to decide how data is stored and fetched in a storage device, be it a hard drive, flash drive or something else. Like the conventional way we used to store data in our offices in different files, the same method is deployed in computing. A defined set of data called a ‘File’ is stored at a specified location in a storage device. If the file system is kicked out of the computing world, all we will be left with is a large chunk of unrecognizable data in our storage media.
There are many type of files systems available for different types of storage options like the Disk File System, Flash File System, Tape File System, and so on. But for now, I’ll be restricting myself with the three Disk File Systems FAT32, NTFS, and ExFAT.
What Is FAT32 File System?
Standing for File Allocation Table, it’s the oldest and the most experienced file system in the history of computing. The story started in 1977 with the original 8-bit FAT file system intended as an antecedent to Microsoft’s Standalone Disk Basic-80, which was launched for Intel 8080-based NCR 7200 in 1977/1978, a data entry terminal with 8-inch floppy disks. It was coded by Marc McDonald following discussions with Microsoft’s co-founder Bill Gates.
Further utilization of the FAT File System or FAT Structure as it was called referred earlier, was done in Microsoft’s 8080/Z80 platform-based operating system MDOS/MIDAS written by Marc McDonald, who was Microsoft’s first salaried employee. In the subsequent years, the FAT file system advanced to FAT12, FAT16 and finally FAT32 that has been synonymous to the word file system when we have to deal external storage media like removable drives.
FAT32 was a surmount to the limited volume size offered by the FAT16 file system. The 32-bit File Allocation Table was released in August 1995, with the Windows 95 operating system. It allows you to store files of size up to 4 Gigs and the maximum disk size can go up to 16TB. So, the fatty file system can’t be used to install heavy apps or store large files, that’s why the modern Windows uses a new file system known as NTFS, for which we don’t have to worry about the file size and disk size limits.
The FAT32 file system is perfect for storage devices like flash drives but you’ll have to make sure you don’t have an individual file larger than 4 GB. It has been widely implemented beyond the realm of computers, like gaming consoles, HDTVs, DVD & Blu-Ray players, and practically any device with a USB port. All versions of Windows, Linux support the FAT32 file system, even Apple’s Mac provides complete support it.
What Is NTFS File System?
Another Microsoft proprietary file system was introduced in 1993 with their Windows NT 3.1 coming into existence. It offers inexhaustible file size limits and you won’t run out of it anytime soon. The development started in the mid-1980s as the result of an association between Microsoft and IBM to develop a new age operating system with better performance in terms of graphics. However, their friendship didn’t last longer and the two parted their ways consequently developing their own version of the new file system. IBM made HPFS which was used in the OS/2 operating system and the Redmond created NTFS v1.0 released with Windows NT 3.1.
The NTFS or New Technology File System offers a theoretical file size of 16 EB – 1 KB which is 18,446,744,073,709,550,592 bytes. Well, your files aren’t that much huge, I guess. Its development team included Tom Miller, Garry Kimura, Brian Andrew, and David Goebel. NTFS v3.1 was launched with Microsoft’s Windows XP and it hasn’t been changed much since then, although numerous additions like partition shrinking, self-healing, and NTFS Symbolic links have been added. Also, the implemented capacity of NTFS file system is only 256 TB out the whopping 16 EB – 1 KB which was done with the launch of Windows 8, for which Microsoft ended support last week and Windows Server 2012.
Other notable features include reparse points, sparse file support, disk usage quotas, distributed link tracking, and file-level encryption. The NTFS file system supports backward compatibility with the previous versions and it’s a journaling file system that proves to be an important tool when it comes to reviving a corrupt file system. It maintains a Journal, a data structure which keeps track of any potential modifications to the file system and is used to recover the file system.
This file system is supported by Windows XP and later versions. Apple’s Mac OSX provides read-only support to an NTFS-formatted drive and only a few Linux variants are able to provide write support for NTFS.
What Is exFAT File System?
The exFAT (Extended FAT) is another Microsoft proprietary file system which finds its use in ball games where the FAT32 feels out of breath. Most of the modern digital cameras use exFAT. High capacity SDXC memory cards are now pre-formatted with the exFAT, as it is lightweight in contrast to NTFS and supports file size more of than 4 GB. So, if you have an exFAT SD card you will have no issues while copying full-length HD movies on it which is not the case with FAT32.
Currently, Microsoft holds the US Patent 8321439 for Quick File Name Lookup using Name hash, is a method which escalates file search speed. They’ve not released a complete specification set for the exFAT file system, for which the vendors have to obtain a restricted license from Microsoft. Most of the countries recognize the US Patent Law and thus, any implementation of the exFAT file system is not possible for the vendors which intended to be a part of an open-source operating system or a commercial software.
Microsoft’s stubbornness to make the exFAT available freely has triggered the development of custom implementations of the file system. A FUSE-based version of the exFAT file system, named exfat-fuse, provides read/write operations for many Linux distributions including FreeBSD. A kernel based implementation made by Samsung was accidentally leaked on GitHub but was later published officially.
Launched in 2006, it has the same 16 EB file size limit as NTFS, but it is way lighter as it doesn’t contain many of the extra features that the latter has. Talking about the compatibility, full read and write support is provided by Mac, Android, and Windows operating system but for Linux distributions, the appropriate software facilitates the support.