VFS(虚拟文件系统)四大对象:struct super_block 超级块、struct inode 索引节点、struct dentry 目录项、struct file 文件对象
VFS采用的是面向对象的设计思想,使用一簇数据结构来代表通用文件对象。所以内核中的数据结构都使用C结构体实现。
超级块super_block对象
,代表一个具体的已安装文件系统。索引节点inode对象
,代表一个具体文件。目录项dentry对象
,代表一个目录项,是路径的一个组成部分。文件file对象
,代表有进程打开的文件。每个主要对象中都包含一个操作对象,这些操作对象描述了内核针对主要对象可以使用的方法:
super_operations对象
:包含内核针对特定文件系统所能调用的方法。inode_operations对象
:包含内核对特定文件所能调用的方法。dentry_operations对象
:包含内核对特定目录所能调用的方法。file_operations对象
:包含进程针对已打开文件所能调用的方法。操作对象作为一个指针结构体被实现,此结构体中包含指向操作其父对象的函数指针。对于其中许多方法来说,可以继承使用VFS提供的通用函数,如果通用函数提供的基本功能无法满足需要,就必须使用实际文件系统的独有方法填充这些函数指针,使其指向文件系统实例。
Update your browser to view this website correctly. Update my browser now