linux的vfs

linux VFS结构:

1.superblock:

每个文件系统有且只有一个superblock,系统初始化完毕之后将维护一个superblock链表,里面包含所有

注册的文件系统的superblock。

2.inode:

保存一个文件的信息,比如文件的名字,文件在磁盘上的数据位置等

3.file:

这个结构用来描述进程跟一个文件交互的信息

4.dentry:

因为在linux中一个目录也是一个文件,文件里面的是一个个的entry,描述对应目录下的文件和目录信息,

而dentry就是描述目录entry信息的结构。由于dentry在解释文件路径中的作用,linux来保留有dentry

cache,用来缓存过去被访问的entry信息,以便下次解释文件路径时可以加快速度。

5.file_system_type:

用于文件系统向系统注册文件系统内容

6.vfsmount:

描述被mount的文件系统的信息,每当一个文件系统被mount的时候就会创建这样一个结构,同一个文件

系统被mount多少次就会创建多少个这样的结构。

交互示意图:见《understanding the linux kernel》-460页 figure 12-2.

你可能感兴趣的:(数据结构,linux,cache)