文件系统
文件系统是“持久化的数据”与“磁盘上的块”之间的那层抽象,本章按这个抽象自外向内逐层展开。
先明确对象:什么是文件,文件系统要提供哪些功能,它的层次结构如何划分,以及如何在易用、性能、可靠、安全、可扩展之间取舍。
再处理命名与查找。文件属性记录着类型、时间、权限等元数据;目录结构决定命名空间怎么组织——从单级、两级到树形和无环图,每种结构都在命名冲突与共享便利性之间做选择;目录项结构以及哈希表、B 树优化则是查找效率的实现手段。
然后是空间管理。连续分配直观但有碎片,链接分配灵活但顺序访问变慢,索引分配兼顾两者,混合方式(如 Unix 的 inode 结构)是工程上的折中。
最后是保护与具体实现。访问控制从 DAC、MAC 到 RBAC,配合 ACL、文件加密、数字签名与审计日志构成安全体系;FAT、NTFS、ext4 等真实文件系统的结构与特性,则把前面的抽象逐条落地。
读完本章,你应能解释一次文件读写在系统内经过的路径,比较不同目录结构与分配方式的取舍,并为一个具体场景选择合适的访问控制模型。
