Overview

A File System is the operating system abstraction that converts raw, unformatted physical block storage (HDDs, SSDs, NVMe drives) into a structured, persistent, and human-readable hierarchy of files and directories. It handles logical-to-physical block mapping, metadata tracking, access control, and crash recovery.


Core Modules

Note LinkDescriptionKey Concepts
File Systems & Storage TechnologiesOverview of persistent storage hardware characteristics and block-device requirements.Sector/Block Addressing, HDDs, SSDs, Flash Memory
File System LayoutStructural organization of disk space into operational regions and superblock headers.Boot Block, Superblock, Inode Tables, Data Blocks, Bitmaps
Common File OperationsVFS and system call interfaces handling kernel state management and process descriptors.FDs, System-Wide Open File Table, Inode Caching, VFS
Multi-Level Indexed LayoutUnix-style inode indexing models for direct and indirect block allocation.Direct Pointers, Single/Double/Triple Indirect Pointers, Inodes
Optimized Disk LayoutStrategies for maximizing sequential I/O throughput and reducing seek latency.Cylinder Groups, FFS, Extents, Spatial Locality
File Buffer CacheIn-memory caching structures bridging RAM and persistent storage latency gaps.Page Cache, Write-Back, Write-Through, LRU, Read-Ahead
File System ReliabilityCrash consistency, transaction logging, and fault-tolerance mechanisms.Journaling, Write-Ahead Logging, Copy-on-Write, fsck, RAID

Related Modules

  • Memory Management: Integration of the page cache with virtual memory via unified buffer caches, page-fault handling for file-backed pages, and zero-copy streaming (mmap, sendfile).
  • Storage & IO Systems: Lower-level block I/O layer, Direct Memory Access (DMA) engine execution, interrupt handling, and disk request scheduling (SSTF, SCAN, C-SCAN).
  • Kernel Architecture: Process state transitions during blocking I/O, file descriptor table inheritance across fork(), and reader-writer concurrency control for directory caches.