According to Wikipedia – In computing, a file system or filesystem is used to control how data is stored and retrieved. Without a file system, information placed in a storage media would be one large body of data with no way to tell where one piece of information stops and the next begins.
All file systems consist of structures necessary for storing and managing data. These structures typically include an operating system boot record, directories, and files.
Functions of a File System:
- Tracking allocated and free space
- Maintaining directories and file names
- Tracking where each file is physically stored on the disk
Different disks or partitions contain different file systems. A few programs will directly operate the original sector of the disk/partition, which may damage an existing file system. Most programs work on the base of file system, so they cannot work on different types of file systems.
Users need to initialize disk to MBR or GPT and put the recorded data structure on it before they want to use its file system. The process is called creating a file system.
UNIX file system contains superblock, inode, data block, directory block and indirection block. The superblock contains general information of the file system while the inode includes all information except the name of the file. The name is stored in the directory. Inode provides several data blocks to store data.
Some operating systems can recognize only one file system, while other operating systems can recognize several. Some of the most common file systems are the following:
Under the Windows 9X, FAT16 supports up to 2 GB partition. Computer information is stored in the cluster area. If the cluster size is small, the efficiency for storing data is high. For FAT16, the partition size is in proportion to cluster size. But, the partition size will be inversely proportional to the storage efficiency. Thus, more storage space will be wasted. Therefore, the FAT16 file system is in the process of being superseded by other better file systems.
FAT32 is able to support up to 32 GB hard disk, but it cannot be used in the partition which is less than 512 MB. Windows 2000 based on the FAT32 partition can support 32 GB disk. View FAT32 partition size limit to know more.
FAT 32 file system can perfectly store information since it use small cluster. For example, there are two 2 GB partitions, and the first one uses FAT16 file system and the second one uses FAT32 file system. The cluster size of the FAT16 partition is 32KB, and the other is 4KB. Thus, the FAT32 storage efficiency can be increased by 15%. Besides, FAT32 can relocate the root directory and use the copy of the FAT.
NTFS is an advanced file system developed by Microsoft. And, it is the default file system for Windows NT family. It not only can protect files and directories, but also can reduce the occupation of disk. Main features of NTFS 5.0 file system are as follows:
It can support 2TB partition or volume.
It is a recoverable file system.
It uses a small cluster to perfectly manage disk space.
NTFS partition allows users to share resources.
NTFS uses a “changeable” log to track the record-oriented files.
Due to these advantages, many users prefer NTFS than FAT. Read How to convert FAT to NTFS without Losing Data to get the skill.
CDFS is the default file system for most optical discs.
exFAT (Extended File Allocation Table File System) was released to solve the problem that FAT32 is unable to support 4G files. Besides, this file system can perfectly work with flash disk.
RAW is an unformatted file system. There are several factors (such as, no formatting, bad sectors, and computer virus attack) contributing to RAW file system. If hard disk became RAW, users can timely format the partition to move the RAW file system. If there are some important data, users need to recover them at first, and then format the partition.
Ext is the standard file system for GUN/Linux operating system, which can perfectly access to files.
Ext 3 is a journaling file system, which is compatible with Ext 2. Note: uses have to close all files before they shutdown the computer. If not, data will be lost. To avoid this situation, journaling file system is released here since it can help track the data if needed.
Ext 4, a new improved version of Ext3, is compatible with Ext3. It can support larger file system and file.
Btrfs (Butter FS) is a copy-own file system which will replace the current Ext 3 and improve its restrictions like single file size and total file size.
ZFS file system was developed for Solaris OS. It has high storage capacity. Besides, it also is a convenient storage pool management system.
HFS (Hierarchical File System), developed by Apple Inc., is used on Mac operating system.
HFS+ file system, developed by Apple Inc., uses 32 bit to record the number of allocation table. And its node size is 4 KB. Besides, it supports long file name since it uses Unicode to encode file name.
Hans Reiser and his team Namesys developed ReiserFS file system in 1997 to perfectly operate large or small files.
JFS (JOURNAL FILE SYSTEM), is a byte-level log file system, which can record the changes of file in the form of log. And it records the file structure instead of the data itself to ensure data security. This way can make sure that users can access the data at any time. And this file system is designed to serve the server.
VMFS (VMware Virtual Machine File System) is a cluster file system which allows multiple virtual machines to access a common integrated clustered memory storage pool to improve the resource utilization. It provides an efficient virtualization management to serve large enterprise data centers.
XFS file system was developed in the early 1990s. It is still used as SGIIRIX-based products.
UFS is a high-speed file system based on the traditional UNIX file system. And, it is the default file system for Solaris operating system.
VxFS (Veritas File System) is the first commercial logging file system. It can help to handle large amounts of data.
ReFS(Resilinet File System) is a new file system which was introduced in Server®2012 and Windows 8.1. It is compatible with most NTFS partitions. Its main purpose is to maintain high stability and recover data. Besides, it has many other good features as follows.
It can ensure data security and support large volume, file and directory. It provides storage pools and virtual file system to easily manage file system and scan disk to prevent some potential disk errors. Moreover, it can share storage pools across machines to provide additional fault tolerance and load balancing. However, Microsoft is removing support for ReFS in the Windows 10 Pro.