VFS
linux内核通过虚拟文件系统(VFS)管理文件系统;
VFS是linux内核文件系统的一个极其重要的基础设施,VFS为 所有的文件系统提供统一的接口,对每个文件系统的访问都需要通过VFS定义的接口来实现。同时,VFS也是一个极其重要的架构,所有的linux文件系统都必须按照VFS定义的方式来实现;
VFS存在于内存中,将硬盘上的文件系统抽象到内存中。
VFS定义了几个重要结构:
dentry、 inode、super_block 通过这些结构将真实的硬盘文件系统抽象到内存。
通过管理dentry、inode、super_block这几个对象就可以完成对文件系统的一些操作-----合适的时候仍需要将内存数据写入到硬盘
超级块super_block
超级块suoer_block代表整个文件系统本身。
超级块是对应文件系统本身的控制块结构【可参考ext2文件系统的超级块结构】。
超级块保存了文件系统设定的文件块大小,超级块的操作函数,文件系统内所有的inode也要链接到超级块的表头。
对于一个具体文件系统的控制块可能还含有另外的信息,通过超级块对象,可以找到这些必要的信息。