Storage Devices and File Systems
Stub. Hard disk drives and RAID as the physical/redundant storage layer, files and directories as the abstraction built on top, general file system implementation, the Fast File System (FFS) as a concrete design, crash consistency via FSCK and journaling, the log-structured file system (LFS) as an alternative approach, flash-based SSDs, and data integrity/protection.
Everything from the spinning platter (or flash chip) up to the directory tree a user sees. Starts with the physical storage devices — hard disk drives (seek/rotate cost as the fundamental performance constraint) and RAID for redundancy/performance via striping and parity — then the file and directory abstraction, general file system implementation (inodes, data blocks, the on-disk layout question), FFS as the classic disk-aware redesign of the original Unix file system, and the crash- consistency problem: how a file system survives a crash mid-write, via either an offline checker (FSCK) or a write-ahead log (journaling). Log-structured file systems (LFS) invert the whole approach — never overwrite in place, always append — and flash SSDs raise a related but different set of constraints (no seek cost, but wear leveling and erase- before-write). Closes with data integrity/protection techniques (checksums) for detecting corruption that these coping mechanisms don’t fully prevent.
Outline (TODO — flesh out each)
- Hard disk drives
- Redundant disk arrays (RAID)
- Files and directories
- File system implementation
- The Fast File System (FFS)
- Crash consistency: FSCK and journaling
- The Log-structured File System (LFS)
- Flash-based SSDs
- Data integrity and protection