Fundamentals of Popular File Systems in Computers!
We all create and download documents, music, or picture files frequently for fun and at work. We also everyday download applications and files from the internet, all this data including files, folders, OS reside on the disk available in our digital devices. All these digital devices have storage or disk which follows certain rules depending on the File System it may have to organize and retrieve data. Without a file system organizing data on a disk, it would not be possible to retrieve data when we need it.
Types of file systems
FAT (File Allocation Table)
The vast majority of home computers used the FAT file system until Windows XP was released by Microsoft. It is a simple file system that does not boast of any compression, security, transaction logging, or encryption features. Because it does not have any such complicated features is better in performance as compared to other available file systems. However, it is important to understand that this performance is achieved at the expense of compromising with the resilience of the file system and this can eventually increase the chances of data corruption. FAT file system works simply by dividing the disk into clusters and they are then given unique ids for reference. The FAT file system then creates tables to keep track and references of the data stored on hard drives. The best thing about FAT file systems is that it is compatible with everything including non-Windows operating systems such as LINUX. Precisely this has been the reason the FAT file system has not completely vanished over time and it is frequently used in removable media such as USB drives because of its universal compatibility.
The FAT file system was found inefficient as the sizes of HDD grew over the period of time as it could not efficiently make most of the space available on drives. This problem was called SLACK and it was found that the FAT file system is only efficient for small storage. The FAT32 file system was launched with Windows 98 OS with some improvements to reduce SLACK and it was also designed to support larger disks. The FAT file system can support a maximum volume size of 2 Terabytes and 4 Gigabytes of maximum individual file size.
NTFS(New Technology File System)
The NTFS file system was launched with Windows NT 3.1 back in 1993 and is a proprietary file system owned and developed by Microsoft. NTFS had many improved features over the FAT file system such as transaction log, security, compression, encryption, and it was found very efficient and reliable as compared to its predecessors. Since its launch, it has seen many further improvements which made it a universal choice for Windows-based computers around the world. Hence It became a default file system for Windows OS-based computers. It uses advanced data structures to store and retrieve data for storage efficiency and has additional extensions such as access control lists which are based on providing good control over data security.
The NTFS file system can support a maximum volume size of 16 Exabytes and 16 Exabytes of maximum individual file size.
exFAT(Extended File Allocation Table)
exFAT is another patented and proprietary file system developed by Microsoft. Windows operating systems such as Windows XP and above are compatible with exFAT. It has been designed and optimized to support high-capacity flash drives and memory cards. Microsoft developed exFAT not by improving the FAT file system but by redesigning it completely hence giving better performance on larger disks when compared to a FAT file system
Flash drives need to work fast but don’t specifically need any security features provided by other file systems hence exFAT is a perfect file system for them. It is very easy to format flash drives with the file system one needs by choosing the right option.
the exFAT file system can support a maximum volume size of 127 Petabytes and 16 Exabytes of maximum individual file size.
ReFS(Resilient File System)
ReFS is a new generation and most modern type of file system built for Windows platforms and is again a Microsoft proprietary file system. It has some very distinct advantages over its predecessors such as self-healing characteristics, the ability to repair files without the need to go offline, and reduced chances of data corruption in the event of power failure. Its improved data integrity characteristics are extremely beneficial in terms of reducing downtime and data corruption. This file system was launched with Windows 2012 with an intent to supersede NTFS and it is not compatible with older versions of Windows operating systems. ReFS in a contrast to NTFS is much better at supporting disk repair features and is compatible with most existing APIs and technologies but we recommend readers check compatibility before switching to ReFS.
The ReFS file system also has a few drawbacks or limitations as compared with NTFS as it does not support many features such as disk quotas, hard links, extended attributes, NTFS compression, an encrypting file system (EFS), etc.
It is also important to note that there is no software available from Windows to convert an NTFS volume into ReFS volume or vice versa. Hence if you want to switch between these file systems the only way to take backup of data and format the volume in the required file system which make the work a bit more complicated.
It is also important to understand that if you are trying to format a volume on a client operating system such as Windows 8.1 option to format in the ReFS file system will not be present. Client operating systems such as Windows 8.1 and above are able to read ReFS volumes but aren’t able to create them. One needs to enable the option in Windows operating system (Windows 8.1 or above) to format a drive with the ReFS file system. This can be done by adding a key to the registry.
The ReFS file system can support a maximum volume size of 256 Zettabytes and 16 Exabytes of maximum individual file size.
HFS+ File System (Heretical file system plus)
HFS+ file system was developed by Apple Inc. and is a proprietary file system. It was introduced with Mac OS in 1998 to remove block allocation issues with the HFS file system. Over the years there were many features added to this file system by Apple Inc. It supported macOS, iOS, watchOS, and tvOS. The file system had the following key limitations:
- Inability to checksum metadata which helps to detect file corruption
- Nanoseconds timestamps not supported by HFS+ as it has 1 second timestamp granularity which means when it reads or writes to the file system it can only be tracked down to one second. Whereas other file systems can be tracked down to nanoseconds timestamp granularity.
- It is a single threaded file system which mean it does not allow concurrent access. Concurrent access means more than one processes can access file system at the same time.
- Date Limitations as its maximum supported date is Feburary6 ,2040.
- No support for sparse files. Sparse files. Sparse files are type of files in computer science that uses file system space efficiently when it is party empty by creating references to empty space.
- No support for filesystem snapshots.
HFS+ file system can support a maximum volume size of 2 Terabytes and 2 Gigabytes of maximum individual file size.
APFS (Apple File System)
In 2017 Apple Inc introduces the APFS file system which is again a proprietary file system for macOS high sierra, iOS, watchOS, and tvOS. This file system was developed by Apple to address core limitations that the HFS+ file system posed and to replace the HFS+ file system. It was introduced with a primary focus on encryption and is optimized for flash and solid-state drives. APFS supports full disk encryption natively and files encryption with options.
AFPS supports cloning which means copies of files will be created on the same volume without consuming extra storage space. To understand cloning consider changes are made to a particular file in other words a file is updated. The file system makes another reference to the same file which can be modified independently of the first file. We can also understand it in a way that updated information on fresh blocks on the same volume is created with pointers referring to original blocks rather than rewriting the original blocks. This enables both original and new files to be available all the time.
.
APFS supports snapshots which refer to a state of a computer system at a particular point of time in a read-only format. Snapshots are key to revert to an earlier version of the file system if one needs to. Since snapshots and closes are stored on the same volume and they will all be erased when a drive fails hence they do not replace backup.
AFPS boast of increased numbers of files supported as it supports 64-bit inode numbers, supporting over 9 quintillion files on a single volume.
APFS enables multiple logical drives to share the same container where free space is available for all logical drives.
APFS file system is designed with the feature of crash protection which helps to avoid metadata corruption caused by a system crash.
To ensure data integrity for metadata APFS uses checksums.
The timestamp granularity of the APFS file system is one nanosecond. It supports sparse files and offers snapshot support. New designed advanced file system APFS can support of 64 bits instead of 32-bit for new generation technology.
APFS is a default file system on the High Sierra operating system.