linux虚拟文件系统的关键数据结构有哪些?

2025-03-22 11:55:12
推荐回答(1个)
回答(1):

linux虚拟文件系统核心数主要有以下几个数据结构:
* 超级块结构(struct super_block {...} )
该结构保存了一个被安装在linux系统上的文件系统的信息。对于基于磁盘的文件系统,该结构一般和保存在磁盘上的"文件系统控制块"对应。也就是说如果是磁盘文件系统,该结构保存的磁盘文件系统的控制信息。
* inode结构( struct inode {...} )
该结构中存储的是一个特定文件的一般信息,对于一个基于磁盘的文件系统,该结构对应磁盘上的"文件数据控制块"。每一个inode结构都对应一个inode节点号,这个节点号是唯一的,它也唯一标识一个文件系统中的文件。
* file结构( struct file {...} )
该结构中存储的是一个打开的文件和打开这个文件的进程间的交互信息。该结构保存在kernel的内存区,在打开文件时被创建,关闭文件时被释放。
* dentry结构( struct dentry {...} )
该结构存储的是目录实体和对应的文件的关联信息。