Linux以一组通用对象的角度看待所有文件系统。这些对象是:超级块(Super block)、inode、detry和文件。
Super block:
在每个文件系统的根上,描述和维护文件系统的状态。表示一个文件系统,它包含管理文件系统所需的信息,包括文件系统的名称、大小和状态、块设备的引用和元数据信息(如空闲列表)。通常存储在存储媒体上,但是如果超级块不存在,也可以实时创建它。
inode:
文件系统中管理的每个对象(文件或目录)在Linux中表示为一个inode。inode表示文件系统中的一个对象,它具有唯一标识符。inode包含管理文件系统中的对象所需的所有元数据(含可以在对象上执行的操作)。各个文件系统提供将文件名映射为唯一inode标识符和inode引用的方法
detry:
用来实现名称和inode之间的映射,有一个缓存用来保存最近使用的dentry。还维护目录和文件之间的关系,从而支持在文件系统中的移动
文件:
表示一个打开的文件(保存文件打开的状态,比如写偏移量等)
Linux文件系统使用了基于插件的体系结构和多层的间接性。