The computer uses different kinds of file systems to store and organized data on drives. A file system can work as an index or database which is used as a physical location of data stored in a drive in an organized manner. The file system is used where data is stored in electronic devices like a computer, ATM, Car infotainment system, etc.
The architecture of file system
A file system consists of three layers. Sometimes these layers can work separately and sometimes the layer functions are combined completely depending on the type of work.
File system layer
Sometimes the layers work separately, and sometimes their functions are combined.
- Logical file system – It is used to interact with the user application. It provides an application program interface for file operation. This layer provides access to files, directory operations, security, and protection of data. The logical file system manages and opens file table entries and per-process the file descriptors.
- Virtual file system – It is an optional layer. This layer provides support for multiple concurrent instances of physical file systems, each of which is called a file system implementation.
- Physical file system – This layer is related to the physical operation of the storage device. It processes physical blocks for reading or writing.
File system according to os
Different Types of the file system is available and each of them has its logical structure and property. Different operating systems (like Windows, Linux, and Mac) have different types of file systems.
Windows file system
Some type of file system according to Windows operating system.
Fat
Fat(File Allocation Table)is designed in son 1997 for floppy disks. but later on, it adapts to a hard disk. This file system is designed for small disks and simple folder structures.
To protect volume, it creates two copies of a volume. so in case of one volume is damaged then the other will use it.
Fat32
Fat32 is introduced in 1996 and it is mostly used to format USB drives, flash memory cards, and external hard drives for compatibility between all platforms.
The FAT32 file system was developed from its predecessor FAT16. FAT32 is the last evolutionary step of the conventional FAT standard.
Exfat
exFAT is a file system which is introduced by Microsoft in 2006. It is optimized for flash memory such as USB flash drives and SD cards exFAT was proprietary until 28 August 2019, when Microsoft published its specification.
exFat is used when NTFS is not a good option due to its data structure overhead. But exFat has big file-size limit than the FAT32 file system.
SD association adopts exFAT as their default file system for their SDXC cards greater than 32 GB.
NTFS
NTFS(New Technology File System) is the file system that stores and retrieves files on Windows operating systems like Windows 2000, Windows XP, Windows 7, and Windows 10.
As compared to the other windows file system, it provides better methods of file recovery and data protection and offers several improvements in terms of extendibility, security, and performance.
Linux file system
Some types of file systems according to the Linux operation system
Ext2
Ext2(second extended file system)is a file system for the Linux kernel. is the first Linux file system that allows managing 2 TB of data.
Ext4
Ext4 file system is the faster file system compare to other Ext file systems. It is a very compatible option for the SSD (solid-state drive) disks, and it is the default file system in the Linux distribution.
JFS
JFS is developed by IBM for AIX Unix. It stands for Journaled File System. JFS is an alternative to the Ext file system. It is used where stability is required with few resources, in place of Ext4. JFS file system is used when CPU power is limited.
ReiserFS
ReiserFS is an alternative file system to the Ext3 file system. It has improved performance and advanced features. In the earlier time, the ReiserFS was used as the default file system in SUSE Linux, but later it changed some policies, so SUSE returned to Ext3. This file system has some drawbacks in performance.
Xfs
XFS file system was considered a high-speed JFS, which is developed for parallel I/O processing. NASA uses this file system for its high storage server which has more than 300 Terabytes of storage.
Btrfs
Btrfs stands for the B tree file system. This was used for fault tolerance, repair system, and administration. This file system is not suitable for the production system.
Swap
The swap file system is used during the system hibernation for memory paging in Linux operating system. swap space is required approx equal to RAM size when pc is not going to hibernate condition.
Some other types of file system
GFS
GFS(Global file system) is developed at the University of Minnesota and is currently maintained by Red Hat. It is used to share files between multiple computers.
Gfs make enable computers to send files even when the distance between two computers is very high. With this type of file system, a computer can organize its I/O to preserve file systems.
HFS
HFS(Hierarchical File system) is a file system that is used in macintosh computers and is developed by Apple. It can also be found on read-only media such as CD-ROM.
HFS is introduced by Apple in September 1985 to support its first hard drive for Macintosh which replace the Macintosh File System(MFS).
UDF
UDF( Universal Disk Format) is developed by OSATA(Optical Storage Technology Association) in 1995. It is used to write consistent data on multiple optical devices.
It is used for optical media like CDs and DVDs and is supported by all operating systems. Now, it is used to process read and rewrite in CDs.