持久化(Persistence)是操作系统三大核心支柱之一。内存中的数据在系统断电或崩溃时会丢失,而持久化技术则致力于让信息在面临硬件故障、断电或系统崩溃时依然能够长期安全地存活。
管理持久化数据(如文件系统)远比管理非持久化数据(如内存)困难。操作系统不仅需要管理底层存储设备(如磁盘、固态硬盘),还需要在之上构建出易于使用的抽象(文件和目录)。为了确保数据的安全与高效访问,持久化模块涵盖了以下几个核心领域:
- 底层硬件与数据保护:理解 I/O 设备、磁盘驱动器和闪存 SSD 的物理特性,并利用 RAID、校验和(Checksums)等技术掩盖硬件故障,保护数据完整性。
- 文件系统实现与优化:从基础的文件系统结构,到感知底层硬件特性的优化(如 FFS 快速文件系统和 LFS 日志结构文件系统)。
- 崩溃一致性:在系统随时可能崩溃的现实中,通过 FSCK(文件系统检查)和日志(Journaling)等机制保证文件系统内部状态的一致性。
尽管存储介质在不断演进(从机械磁盘到 Flash 和 SSD),传统的存储设计思想依然适用。例如,闪存转换层(FTL)在内部使用了日志结构技术来提升 SSD 的性能和可靠性。在持久化领域,考虑数据局部性(Locality)和应对崩溃恢复(Recovery)始终是系统设计的关键。
- 第 36 章 I/O 设备 (2026-03-18)
- 第 37 章 磁盘驱动器 (2026-03-18)
- 第 38 章 廉价冗余磁盘阵列(RAID) (2026-03-18)
- 第 39 章 插叙:文件和目录 (2026-04-01)
- 第 40 章 文件系统实现 (2026-04-08)
- 第 41 章 局部性和快速文件系统 (2026-04-08)
- 第 42 章 崩溃一致性:FSCK 和日志 (2026-04-08)
- 第 43 章 日志结构文件系统 (2026-04-20)
- 第 44 章 基于闪存的固态硬盘 (2026-04-20)
- 第 45 章 数据完整性与保护 (2026-04-20)