一、文件系统框架:
从下图可以看到整个文件系统包含:
- 用户层:用户空间对文件的读写操作open/read/write等;
- VFS层:虚拟文件系统层,承上启下,为上下层提供接口;
- 文件系统层:可以存在很多类型的文件系统,VFS层的接口会调用到不同的文件系统层的接口;
- 缓存层:文件系统底下有缓存,Page Cache,加速性能;
- 块设备驱动层:对硬盘进行读写操作进行管理;
二、EXT4文件系统布局
linux ext4 文件系统,将磁盘分成一系列块组,磁盘的布局可以用如下图显示:
1、超级块(SuperBlock):
用于描述文件系统的配置信息:block的总数量和空闲数量、块组的数量、inode的数量等,存储这些
占用1kb的大小,只有块组号是3, 5 ,7的幂的块组(譬如说1,3,5,7,9,25