Everything is stored as files in a computer system. The files can be data files or application files. Each operating system has its own way of organizing data internally. The operating system performs this management with the help of a program called File System. The type of file system is used to determine how data and programs are accessed. It also determines the level of accessibility available to users.
The following are the different types of file systems.
- FAT File System
- FAT32 File System
- NTFS File System
- exFAT File System
- HFS+ File System
- APFS File System
Types of File System
1. FAT File System
FAT stands for “File Allocation Table”. The file allocation table is used by the operating system to locate files on a disk. A file may be divided into many sections and scattered around the disk due to fragmentation. FAT keeps track of all pieces of a file. In DOS systems, FAT is stored after the boot sector. The file system has been used since the advent of PC.
Features of FAT File System
Some important features of the FAT File System are as follows.
- FAT file system used by MS-DOS provides file name of only 8 characters long.
- FAT file system used by Windows 2000 supports long file name. The full path of file including filename can be up to 255 characters long.
- File names can contain any character except “/  = , ^ ?a “”
- File names should begin with alphanumeric characters.
- File names can contain spaces and multiple periods. The characters after the last period are treated as file extension.
FAT does not support local and folder security. A user logged on to a computer locally has full access to the files and folders in FAT partitions of the computer.
Quick Access to files
FAT provides quick access to files. The speed of file access depends on file type, file size, partition size, fragmentation, and the number of files in a folder.
2. FAT32 File System
FAT32 is an advanced version of the FAT file system. It can be used on drives from 512 MB to 2TB in size. One of the most important features of FAT and FAT32 is that they offer compatibility with operating systems other than Windows 2000 also.
Features of FAT32 File System
FAT32 has the following features.
FAT32 increases the number of bits used to address clusters. A cluster is a set of sectors. It reduces the size of each cluster. It supports a larger disk (up to 2TB) and better storage efficiency.
FAT32 provides good file access in partition sizes less than 500 MB or greater than 2 GB. It provides better disk space utilization.
3. NTFS File System
NTFS stands for “New Technology File System”.Windows 2000 professional fully supports NTFS. It has the following characteristics.
Features of NTFS File System
The following are some of the main features of the NTFS File System.
- File names can be up to 255 characters
- File names can contain most characters except “ / < > * | :
- File names are not case sensitive
NTFS provides file and folder security. Files and folders are safer than FAT. Security is maintained by assigning NTFS permissions to files and folders. Security is maintained at the local level and the network level. The permissions can be assigned to individual files and folders. Each file or folder in an NTFS partition has an Access Control List. It contains the users and group security identifier (SID) and the privileges granted to them.
The NTFS partition and file sizes are much bigger than FAT partitions and files. The maximum size of an NTFS partition or file can be 16 Exabyte. However, the practical limitation is two Terabytes. The file size can be in the range of 4GB to 64GB.
NTFS provides file compression of as much as 50%.
NTFS is highly reliable. It is a recoverable file system. It uses transaction logs to update the file and folders logs automatically. The system also has a great amount of fault tolerance. It means that if the transaction fails due to power or system failure, the logged transactions are used to recover the data.
Bad cluster Mapping
NTFS supports bad-cluster mapping. It means that the file system detects bad clusters or areas of the disk with errors. If there is any data in those clusters, it is retrieved and stored in another area. The bad clusters are marked to prevent data storage in those areas in the future.
4. exFAT File System
ExFAT is a file system designed exclusively for flash memory by Microsoft. ExFAT is pre-formatted on all high-capacity SDXC cards, but it is not strictly required the card be used. ExFAT files up to 64 ZB and up to 16 EB are supported by all currently available Windows versions, including Vista SP1 and XP SP2. ACLs are used to manage access control instead of FAT32, where clusters can grow up to 32 MB. In addition to improving delete performance, free space bitmaps allocate capacity. When compared with NTFS, which overwrites deleted data, this is extremely important to maximize write performance.
Microsoft’s exFAT licensing scheme, however, does not give it the same level of support as FAT32 and NTFS. In spite of exFAT being designed specifically for consumer electronics (and despite the fact that even older operating systems such as XP SP2 and Mac OS X 10.6.5 are compatible with exFAT), the format has yet to be widely adopted for that purpose. Although Windows cannot be installed on exFAT, it can be run under Linux. File permissions and other features of NTFS are heavily relied upon in Windows Vista and 7.
What Is exFAT?
A file system introduced by Microsoft in 2006, exFAT stands for Extended File Allocation Table. A flash memory device such as a USB flash drive, SD card, or another similar device can be used with this software.
ExFAT is derived from the FAT file system, which was its predecessor. This file system is similar to exFAT, although it is a newer version of FAT32. It is a file system that is situated between FAT32 and NTFS (Advanced Technology File System).
Benefits of the exFAT File System
A few inefficiencies of FAT-32 were addressed by the development of the exFAT file system. Despite its similarities to FAT-32, exFAT provides a few additional features. Among them are:
There is no short file name. The name of an exFAT file can consist of up to 255 characters and is encoded as Unicode on disk.
Size of 64-bit files. ExFAT beats FAT’s maximum file size restriction of 4G.
The cluster size can reach 32M. Due to the fact that exFAT overcomes the limitation of 64k clusters, it can handle much larger disks than FAT.
Just one FAT. Unlike conventional FAT volumes, exFAT volumes maintain only one FAT, so they consume less space and provide more processing power.
The cluster bitmap is free. To keep track of allocated and free clusters, exFAT uses a cluster bitmap in addition to the FAT (File Allocation Table) also used by FAT-32. Bitmaps reduce the amount of write/read operations for the FAT dramatically.
Optimization of contiguous files. The exFAT file format offers special handling for contiguous files, allowing for faster reading and writing of these files. A disk usually contains more than 90% contiguous files.
Hashing of file names. Searching in directories or opening files on FAT volumes is significantly slower than using file hashes and short file names.
It is of particular significance to note that the above improvements are especially effective when a large volume is involved or when the disk is slow (e.g., large USB drives with a USB 1.1 port), or when the CPU is weak. To minimize performance issues associated with large disks, Microsoft Windows refuses to format disks greater than 32GB with FAT.
Compatibility: Supported all versions of Windows, including Windows XP, Mac OS, and Linux, with the need to install additional software on Windows. ExFAT is supported by a greater number of devices than NTFS, but there may be a few older, less-reliable devices only supporting FAT32.
Limits: No realistic limitations on the size of files or partitions.
Ideal Use: It’s ideal for situations where you need a higher file size limit and greater compatibility than FAT32 provides. It makes sense to format an external drive with exFAT instead of FAT32 if all the devices you’d like to connect it to support exFAT.
5. HFS+ File System
A nod must go to HFS+ for its relevance. You’ll find a number of SSD reviews we run in the US lab feature a number of SSDs benchmarked standard set of benchmarks, which is not required to benchmark it.
A version of Mac OS Extended referred to as HFS+ is designed to work with all kinds of storage devices, such as optical discs. Typically, HFS+ can mount their partitions on Linux and Unix systems thanks to the journaling feature. Even if the kernel does not support HFS+, optional repo packages are available. In most cases, these packages can only read partitions with an HFS+ format. HFS for Windows by Paragon Software and MacDrive by Mediafour are other third-party tools for enabling HFS+ on Windows.
There are four allocation blocks in HFS+, each with 512 bytes. Maximum file size of 8 EB is supported, along with 255-character file names. As a proactive measure, HFS+ automatically looks for enough free space to accommodate a new file before writing it, preventing fragmentation. Growing file sizes may result in the need to completely rewrite existing files. Additionally, Mac OS X 10.3 offers on-the-fly defragmentation, which takes place once a file reaches a length of eight bytes. If there are no further access conditions or activity, defragmentation takes place on the fly. In addition to access control, encryption and compression, HFS+ support them.
HFS+ is also called Mac OS Extended or HFS Plus. This feature improved performance and reduced fragmentation in Mac OS 8.1. In many ways, it is very similar to Mac OS 8.1. The feature may work with floppy disks, hard drives and potentially CD-ROM drives.
As a result of HFS+’s reduction of allocation blocks and lower block size, large disk files now take up less disk space. These are the key advantages.
- File Name– 255 characters maximum for file names
- Unicode naming – Benefits of characters that are not English and other foreign languages
- Larger/max file size – The maximum file size in OS X 10 was 2Tb, and the new maximum is 8 Exabytes.
There are nine main structures in an HFS+ volume:
- Block of Boot– Sector 1 and Sector 2 contain boot blocks
- Volume Header – Holds information about the volume structure including its location in other volumes
- Allocation File – Map that shows how many blocks are in use or free
- File Catalog – B-tree containing files and folders
- Overflow file – Each fork of a file can contain up to 8 extents. Additional extents are recorded by Extents Overflow.
- Attributes File – B-tree using for Inline, Extension and Fork using for Attribute records
- Startup File – Not compatible with Macs
- Alt Volume Header – A disk repair utility uses this tool.
6. APFS File System
A new file system introduced by Apple for Mac OS X, iPhones, iPads and other iOS devices was APFS. In this lesson, you will discover some of the significant new features.
iPods were the first portable devices introduced by Apple in 2001 and led to iPhones and iPads later that year. Initially, the machines were equipped with spinning hard disks and their capacity was 5GB.
An iPod Nano with flash memory was introduced in 2005. Apple continued to use HFS+ as its primary file system through 2016 on all drives despite the obvious advantages of flash memory over hard drives.
Apple introduced Apple File System (APFS) in 2016 as a 64-bit file system. A public release of the software was made available in spring 2017 as part of macOS High Sierra (10.13) and iOS 10.3.
Since 1998, Apple devices have utilized the HFS+ file system as their standard. When installing one of the new Operating Systems, switching from HFS+ to APFS is generally done automatically.
In comparison to their HFS or HFS+ predecessors, APFS introduced several new features. This file system takes advantage of SSDs but is backward compatibility with hard drives. APFS supports the formatting of external drives.
With the new features, the performance of your computer will improve, drive space will be better utilized, and file corruption will be prevented. Here is a quick look at a few of these.
An exact copy of a file is known as a clone. A clone is simply a copy of a whole file that is saved to another location. Both files will require the same amount of storage.
APFS allows cloning to occur on a shared drive, which generates no extra space as the clone uses the same blocks of data. The cloned copy is only written with the changes that have been made. It uses the same data as the original file. Data blocks from the original and new data blocks containing only the changes are used to clone the changed version.
So, even though the original data points to the same amount of data as the clone, the original file and clone data with changes occupy less than double the original file.
An image snapshot contains a read-only copy of the entire file system. Having been created, the snapshot is updated whenever the file is modified, however, only the modifications are added. Since the snapshot still contains information about the file system before the change, it has a record of all changes made to the files.
Whenever macOS is installed for the first time, snapshots are automatically generated. Rollbacks can be performed this way. Apple has not yet fully implemented the use of snapshots, so they can also be created manually.
There are three encryption levels available in APFS: none, single-key, and multi-key. The encryption has not yet been completely implemented as of early 2019. However, it is anticipated that different encryption levels may be available in the future for different files and users.
Copy on write
The APFS concept of copy-on-write requires that a new version of a file be written before the old version can be updated. Consequently, corruption of files is prevented during system failures.
A single container is configured for APFS. Although APFS volumes may be contained within the container, each volume supported must be at least 500MB. In this case, a 2Gb container is needed for 4 volumes.
A whole block checksum appears in the header of the block, and there’s a copy-on-write version included. A Bitmap Structure is a bitmap that contains information regarding the used and unused blocks, much like the allocation file in HFS+.
At the top of the filesystem is the Container Superblock. The Container Superblock consists of blocks, pointers, and allocations. Following this, there is a Volume Superblock (for each volume) and then a B-tree in which files and folders are organized.
The ability to create flexible volume sizes is one of APFS’ features. An example would be a drive with 2Gb, with 3 volumes needed by the user.
The user used to need to select the volume size and change the volume size separately. APFS allows free space to be shared across volumes, so additional space is automatically allocated as a volume grows.
Apple computers and iOS devices are automatically configured for APFS once they have the corresponding OS installed. The user will not notice any significant difference but will benefit from increased speed and other features.
Although APFS was released without support for fusion drives (HDDs and SSDs combined), a later release added this feature. Apple’s backup system Time Machine runs from drives that can’t be formatted as APFS.
The APFS format is suitable for flash USB drives, as well as external drives. As a result, it is preferable to leave the option of using exFat or FAT32 formatted drives with Windows or Linux.
The software Apple uses to let Windows be installed on an Apple computer does not support reading APFS file systems.
Today the differences between the first three file systems are not so special, there are no significant differences between any of these file systems FAT. The only significant difference is the number of file sizes and maximum size. NTFS has a bit than FAT32 and FAT does not have, but FAT32 is better for devices with a small amount of memory, for example, flash drives, fat also holds a large number of files. APFS is being developed on technology Apple File System, it is proposed by Apple Corporation as a replacement for HFS+.
Remember that the file systems are one of the important parts of hard disks, and it’s very important for every computer user to know about the hard disk file systems. But knowledge is better when comes to visualizations, so we are presenting all these file systems in a way that you can understand each system’s properties quickly, as well as its importance with an image/diagram and an abstract.
Read our article about the difference between FAT and NTFS file system