第11章:EXT2文件系统
知识点归纳总结:
本章讨论EXT2文件系统。本章将引导读者实现一个完全与Linux兼容的完整EXT2文件系统。前提是,只要读者充分理解了一个文件系统,那么就可以轻松改编其他任何文件系统。
本章首先描述了EXT2文件系统在Linux中的历史地位以及EXT3/EXT4文件系统的当前状况;
用编程示例展示了各种EXT2数据结构以及如何遍历EXT2文件系统树;介绍了如何实现支持Linux内核中所有文件操作的EXT2文件系统;
展示了如何通过虚拟磁盘的mount_root来构建基本文件系统;
将文件系统的实现划分为3个级别,级别1扩展了基本文件系统,以实现文件系统树,级别2实现了文件内容的读/写操作,级别3实现了文件系统的挂载/装載和文件保护;
描述了各个级别文件系统函数的算法,并通过编程示例演示了它 们的实现过程;
将所有级别融合到一个编程项目中;最后,将所有编程示例和练习整合到一 个完全有效的文件系统中。
其中让我最有收获的几个部分如下:
- EXT2文件系统数据结构
- 邮差算法
- 教材编程实例
- 超级块
- 索引节点
- 块组描述符
- 文件系统项目的扩展
超级块重要字段:__u32 s_inodes_count
://文件系统中节点总数__u32 s_blocks_count
://文件系统中块总数__u32 s_r_blocks_count