1、 VFS 通过树状结构来管理文件系统,树状结构的任何一个节点都是“目录节点” 2、 树状结构具有一个“根节点” 3、 VFS 通过“超级块”来了解一个具体文件系统的所有需要的信息。具体文件系统必须先向VFS注册,注册后,VFS就可以获得该文件系统的“超级块”。 4、 具体文件系统可被安装到某个“目录节点”上,安...
VFS 提供了系统库和特定文件系统之间的接口。因此,VFS 不仅充当抽象层,而且实际上它提供了一个文件系统的基本实现,可以由不同的实现来使用和扩展。因此,要了解文件系统是如何工作的,就要先了解VFS 。 通用文件模型 VFS 的主要思想在于引入了一个通用文件模型(common file model)。通用文件模型由以下对象类型组成: 超...
read,open..)作与具体文件系统无关的处理,这些处理主要就是参数检查,权限检查等,如果这些检查都通过vfs层再调用文件系统特定的write,read,open函数做具体的处理,最后将结果反向一层层的返回。
首先查看普通文件的操作,vfs_poll() 函数会调用 file->f_op->poll 指向的函数。在 poll 机制的文章中,分析到最后回调用 poll_table 设置的回调函数,在这里,也就是 ep_ptable_queue_proc() 函数。 如果是 epoll 文件,不使用 file_operation::poll 指向的函数,直接使用 poll_wait() 函数,然后检查就绪队列是...
所有与文件相关的操作的入口都是虚拟文件系统(VFS),而非特定的额文件系统(如Ext3、ReiserFS和NFS)。VFS 提供了系统库和特定文件系统之间的接口。因此,VFS 不仅充当抽象层,而且实际上它提供了一个文件系统的基本实现,可以由不同的实现来使用和扩展。因此,要了解文件系统是如何工作的,就要先了解VFS 。
所有与文件相关的操作的入口都是虚拟文件系统(VFS),而非特定的额文件系统(如Ext3、ReiserFS和NFS)。VFS 提供了系统库和特定文件系统之间的接口。因此,VFS 不仅充当抽象层,而且实际上它提供了一个文件系统的基本实现,可以由不同的实现来使用和扩展。因此,要了解文件系统是如何工作的,就要先了解VFS 。
VFS 的主要思想在于引入了一个通用文件模型(common file model)。通用文件模型由以下对象类型组成: 超级块对象(superblock object) 内存:文件系统安装时创建,存放文件系统的有关信息 磁盘:对应于存放在磁盘上的文件系统控制块(filesystem control block) 索引节点对象(inode object) ...