A Brief Introduction to File System

File system is used to define storage devices and control how data is stored and retrieved. It consists of three parts, including file system interface, software collections, and objects and attributes. From the system point of view, file system helps to organize and distribute storage spaces, and provides some protective measures to ensure the data security. Specifically, it can help to create file, store file, modify file, and control access to file, and undo file when users don't need it.

Function

File system also refers to a disk or partition. Therefore, that I have two file systems means I have two partitions.

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.

File System

File system not only can manage storage space, but also offers the logical structure of documents and storage methods. Besides, it provides protection measures to ensure the security of file. The logical structure of file can be divided into streaming file and record-oriented file. Nevertheless, the file logical structure also has some drawbacks, including poor data association, data inconsistency and redundancy.

FAT
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
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
CDFS is the default file system for most optical discs.

exFAT
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
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 2
Ext is the standard file system for GUN/Linux operating system, which can perfectly access to files.

Ext 3
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
Ext 4, a new improved version of Ext3, is compatible with Ext3. It can support larger file system and file.

Btrfs
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
ZFS file system was developed for Solaris OS. It has high storage capacity. Besides, it also is a convenient storage pool management system.

HFS
HFS (Hierarchical File System), developed by Apple Inc., is used on Mac operating system.

HFS+
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.

ReiserFS
Hans Reiser and his team Namesys developed ReiserFS file system in 1997 to perfectly operate large or small files.

JFS
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
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
XFS file system was developed in the early 1990s. It is still used as SGIIRIX-based products.

UFS
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
VxFS (Veritas File System) is the first commercial logging file system. It can help to handle large amounts of data.

ReFS
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.