Lesson 052

File Systems

Inodes · Blocks · Journaling

1:00

How operating systems turn a flat array of numbered disk blocks into named, crash-safe files using inodes, directories, allocation strategies, and journaling.

By the end, you can

  • Describe what a raw disk provides and why a file system is necessary.
  • Identify the five on-disk regions and explain each one's role.
  • List what an inode stores and explain why the file name is absent.
  • Explain how a directory maps names to inodes and why that makes renaming cheap.
  • Trace the step-by-step path resolution for an absolute path like /home/ada/notes.txt.
  • Explain why a file's blocks are scattered and how the inode's pointers restore order.
  • Compare contiguous, linked/FAT, and indexed allocation by their access speed and fragmentation properties.
  • Describe the direct, single-indirect, double-indirect, and triple-indirect pointer tiers and the file size each covers.
  • Explain how a free-space bitmap works and what bit values mean.
  • Distinguish internal fragmentation from external fragmentation.
  • Contrast hard links and symbolic links in terms of inode sharing, link count, cross-filesystem capability, and dangling behavior.
  • Trace the three-step journal write cycle (log, commit, check-point) and explain crash recovery.
  • Distinguish ext4's three journaling modes by what each logs and its safety/speed trade-off.
  • Explain what the VFS is and why programs can use the same system calls across different filesystem types.
Up next in Computer Architecture & Operating Systems
Questions or feedback?