Different types of File System
Do not miss this exclusive book on Binary Tree Problems. Get it now for free.
In this article, we have explored the Different types of File Systems such as Distributed File System, Flash File System and much more with examples of each type and how they are used in real applications.
Table of contents:
- Introduction to File System
- Various File System Types
- Disk file systems
- Flash File System
- Record-Oriented File Systems
- Shared-Disk File System
- Distributed File Systems
- Distributed fault-tolerant file systems
- Distributed parallel file systems
- Distributed parallel fault-tolerant file systems
- Special File Systems
Introduction to File System
A file system, sometimes known as fs, is a mechanism and data structure used by the operating system to regulate how data is saved and accessed. Data deposited in a storage medium without a file system would be one enormous body of data with no way of knowing where one piece of data ended and the next began, or where any piece of data was housed when it was time to retrieve it. The data is easily extracted and identified by splitting it into bits and giving each one a name. Each group of data is referred to as a "file" in the same manner that a paper-based data management system is referred to. A "file system" is the structure and logic rules used to organize groups of data and their names.
Objective of File Management System
- To satisfy the user's data management needs and requirements, which include data storage and the ability to perform the aforementioned tasks.
- To the greatest extent possible, to ensure that the data in the file is correct;
- To improve performance from the user's perspective in terms of response times, as well as from the system's perspective in terms of overall throughput.
- To support a wide range of storage device types in terms of I/O.
- To eliminate or reduce the risk of data loss or destruction
Provide a standardized set of I/O interface procedures
Provide I/O support for numerous users in the case of multiple-user systems
Making use of a file system
File system APIs are used by utilities, language-specific run-time libraries, and user programs to make requests to the file system. Data transfer, placement, metadata updates, controlling directories, managing access specifications, and removal are among them.
Various File System Types
There are numerous types of file systems. Each one has its own structure and logic, as well as characteristics such as speed, adaptability, security, and size. Some file systems were created with specific applications in mind.
Disk/tape file systems, network file systems, and special-purpose file systems are the three main categories of file systems.
The different types of File Systems are:
- Disk file systems
- Flash File System
- Record-Oriented File Systems
- Shared-Disk File System
- Distributed File Systems
- Distributed fault-tolerant file systems
- Distributed parallel file systems
- Distributed parallel fault-tolerant file systems
- Special File Systems
Disk file systems
Disk file systems take advantage of disk storage media's ability to address data randomly in a short amount of time. Additional factors to consider are the speed with which data can be accessed after the data that was first requested, as well as the possibility that more data will be requested in the future. This allows several users (or processes) to access different types of data on the disk regardless of their order of appearance.
Disk File Systems Examples
- FAT (File Allocation Table) - Originally developed for DOS and Microsoft Windows, it is now extensively used for portable USB storage and a variety of other devices.
- NTFS (New Technology File System) was first released with Windows NT in 1993 and is now the most widely used file system for end-user PCs running Windows. This format is also used by the majority of Windows Server operating systems.
- The Universal Disk Format (UDF) file system is the industry standard for storing data on optical media such as DVDs (Digital Versatile Disc or Digital Video Disc).
- HPFS (High Performance File System) was developed by Microsoft in collaboration with IBM and first released in 1989 with OS/2 1.20 as a file system for servers that might deliver significantly greater performance than FAT.
- F2FS is a Linux file system developed by Samsung Electronics that is tailored to the needs of storage devices based on NAND flash memory, which are common in modern smartphones and other computing systems.
- Unix File System (UFS) is a file system that is used on Solaris and earlier BSD systems.
Flash File System
A flash file system is a file system that is intended for use with flash memory–based storage devices. While flash file systems are similar to file systems in general, they are designed for the nature and features of flash memory (such as avoiding write amplification) as well as for usage in certain operating systems.
Record-Oriented File Systems
Files are kept as a collection of records in record-oriented file systems. They are commonly linked with operating systems for mainframes and minicomputers. Programs read and write whole records rather than bytes or random byte ranges, and they can search to a record border but not within it. More advanced record-oriented file systems are more similar to basic databases than to other file systems.
Shared-Disk File System
Shared-disk file systems (also known as shared-storage file systems, SAN file systems, Clustered file systems, or even cluster file systems) are commonly used in a storage area network where all nodes have direct access to the block storage where the file system is stored. This allows nodes to fail without interfering with access to the file system from other nodes. In a high-availability cluster, shared-disk file systems are typically utilized in conjunction with storage on hardware RAID.
Distributed File Systems
Distributed file systems are also called network file systems.
A network file system is a file system that provides access to files on a server by acting as a client for a remote file access protocol. Local interface programs can create, maintain, and access hierarchical directories and files on remote network-connected machines transparently.
Distributed File Systems Examples
- Andrew File System (AFS) is a scalable, location-independent file system with a large client cache and Kerberos authentication. The original from IBM (formerly Transarc), Arla, and OpenAFS are among the implementations.
- The MapR File System (MapR FS) is a clustered file system designed for both large-scale and high-performance applications.
- The Google File System (GFS or GoogleFS) is a proprietary distributed file system designed by Google to allow efficient, reliable data access using massive clusters of commodity hardware. It is not to be confused with the GFS Linux file system.
- Apache Hadoop is a set of open-source software tools for solving problems involving large volumes of data and processing using a network of numerous computers. It's a software framework that uses the MapReduce programming style to store and process massive data in a distributed manner.
- OrangeFS is a parallel file system that is open-source and is the next version of Parallel Virtual File System (PVFS). A parallel file system is a distributed file system that distributes file data across numerous servers and allows multiple tasks of a parallel application to access it at the same time. OrangeFS is a large-scale cluster computing file system that is utilized by businesses, colleges, national laboratories, and other organizations all over the world.
Distributed fault-tolerant file systems
For high availability and offline (disconnected) operation, distributed fault-tolerant data replication across nodes (between servers or servers/clients) is used.
Distributed parallel file systems
For high performance, distributed parallel file systems stripe data across numerous servers. They're most commonly found in high-performance computing (HPC).
Distributed parallel fault-tolerant file systems
Stripe and duplicate data over numerous servers for excellent performance and data integrity in distributed file systems, which are also parallel and fault resistant. There is no data loss even if a server fails. High-performance computing (HPC) and high-availability clusters both employ file systems.
Special File Systems
A special file system treats non-file elements of an operating system as files, allowing them to be manipulated using file system APIs. This is most commonly done in Unix-like operating systems, but it is also done in some non-Unix-like operating systems.
Special File Systems Examples
- Configfs is a RAM-based virtual file system. Configfs looks a lot like sysfs, but they're not the same thing. Configfs is used to create, manage, and delete kernel objects from user-space, whereas sysfs is used to inspect and manipulate kernel-created and destroyed user-space objects.
- The proc filesystem (procfs) is a Unix-like operating system filesystem that presents information about processes and other system information in a hierarchical file-like structure, making dynamically accessing process data held in the kernel more convenient and standardized than traditional tracing methods or direct access to kernel memory. At startup time, it is usually assigned to a mount point named /proc. The proc file system provides access to the kernel's internal data structures for executing processes. It may also be used to get information about the kernel and alter kernel parameters at runtime in Linux (sysctl).
With this article at OpenGenus, you must have a strong idea of Different types of File Systems with examples.
Sign up for FREE 3 months of Amazon Music. YOU MUST NOT MISS.