A Short History of (Linux) Filesystems
summary
Outlines the evolution from Unix v6, Minix and FAT to modern Linux filesystems by linking concrete design choices: on-disk layouts, FAT’s file chains versus inode maps and bitmaps, journaling as a replayable log for recovery, and extents replacing triple-indirect block maps. Gives concrete capacity figures for direct and indirect block addressing (12 direct → ~48 KB; single → ~4 MB; double → ~8 GB; triple → ~4 TB) and demonstrates a working Java ext2 implementation (slower) plus using tune2fs -l to inspect superblock features.
AI-written summary · about
chapters (10)
- 0:00Filesystem introduction
- 2:13Filesystem basics and inodes
- 9:56UNIX V6 and Minix
- 13:29FAT structure
- 17:22Linux ext2 block groups
- 24:10B-trees in filesystems
- 26:42ext3 and ext4 journaling
- 34:24XFS structure and allocation
- 37:53ZFS, Btrfs, f2fs trends
- 42:15Q&A
related talks
11mImmutable Linux systems and how they work
11mHigh Velocity Kernel File Systems with Bento
39mRead-only rootfs: Theory and Practice
36mStorage Wars
27mGitLFS - How to handle large files in Git
45mLinux Boot: The Big Bang theory
05mIgnite: The History of Linux Containers
01h 45mDebootstrapping Embedded Linux Root Filesystems - Building and Optimization for the...
