A file system consists of 3 layers

  1. Logical File System

The Logical File System acts as the interface between the user applications and the file system itself. It facilitates essential operations such as opening, reading, and closing files. Essentially, it serves as the user-friendly front-end, ensuring that applications can interact with the file system in a way that aligns with user expectations.

  1. Virtual File System

The Virtual File System (VFS) is a crucial layer that enables the concurrent operation of multiple instances of physical file systems. It provides a standardized interface, allowing different file systems to coexist and operate simultaneously. This layer abstracts the underlying complexities, ensuring compatibility and cohesion between various file system implementations.

  1. Physical File System

The Physical File System is responsible for the tangible management and storage of physical memory blocks on the disk. It handles the low-level details of storing and retrieving data, interacting directly with the hardware components.

Characteristics of a File System

Some important terms

Journaling - Journaling file systems keep a log called the journal that keeps track of the changes made to a file, but not yet permanently committed to the disk. In case of system failures, lost changes can be brought back using the journal.

Versioning - Version file systems store previously saved versions of a file. Backups are created from storing copies of the file based on previous commits in a timely manner.

Inode - The index node is the representation of any file or directory based on the parameters such as size permission, ownership, and location of the file.

Linux.png