File Systems
The Persistent Abstraction
Operating Systems provide the illusion of persistent named objects called files. Under the hood, it's a complex dance of blocks, inodes, and journals.
Module Roadmap
01. The Abstraction
Everything is a file. Understanding paths, links, and the file descriptor.
Explore Basics →03. Reliability
Surviving power loss. The power of Write-Ahead Logging (Journaling).
Crash & Recover →04. VFS Layer
The universal interface. How Linux supports Ext4, NTFS, and FAT32 simultaneously.
Route Syscalls →05. Distributed
Files across the network. NFS, SMB, and the CAP theorem applied to storage.
Go Distributed →Chapter Index
- File System Basics
- Files, Directories, and Links (Hard vs Soft).
- The File Descriptor Table.
- Basic API (open, read, write, close).
- Inodes and Data Blocks
- The Inode Structure (Metadata).
- Direct vs Indirect Pointers.
- Extents (Ext4) vs Lists.
- Directory Implementation (Linear List vs B-Tree).
- Journaling File Systems
- The Crash Consistency Problem.
- FSCK vs Journaling.
- Write-Ahead Logging (WAL) and Checkpointing.
- Ext4 Journaling Modes.
- VFS Layer
- Virtual File System Architecture.
- The
file_operationsstruct. - Mount Points and Superblocks.
- Network File Systems
- NFS Architecture (Stateless vs Stateful).
- Remote Procedure Calls (RPC).
- Distributed Locking Managers.
- AFS and Caching.
- Module Review
- Summary and Key Takeaways.
- Flashcards and Cheat Sheet.
Module Chapters
Chapter 01
File System Basics
File System Basics
Start Learning
Chapter 02
Inodes and Data Blocks
Inodes and Data Blocks
Start Learning
Chapter 03
Journaling File Systems
Journaling File Systems
Start Learning
Chapter 04
The VFS Layer
The VFS Layer
Start Learning
Chapter 05
Network File Systems
Network File Systems
Start Learning
Chapter 06
Module Review: File Systems
Module Review: File Systems
Start Learning