在VFS下面是文件系统抽象,它定义了上层函数的实现方式。
本文探索了VFS的基础概念,以及为访问不同文件系统提供统一接口的对象。
文件系统的层次结构由VFS中的另一个称为dentry的对象管理。
这组接口的核心就是虚拟文件系统交换器(VFS)。
如清单1所示,由成员vfs_next指定,虚拟文件系统作为structvfs的链表进行维护。
大多数在职的Tcl应用程序开发人员首先将VFS应用在上述的示例方面-例如灵活的支持FTP的编辑器。
一旦发现了为NFS指定的需求,VFS会将其传递给内核中的NFS实例。
VFS确定需求倾向于哪个存储,然后使用哪些文件系统来满足需求。
VFS记录当前支持的文件系统以及当前挂装的文件系统。
简介:虚拟文件系统(VFS)是一个抽象概念,它具有极其高效的用途。
众所周知的Zope应用程序服务器提供了一个颇有挑战性的VFS示例。
架构的顶层是虚拟文件系统(VFS),它为高级应用程序提供通用接口。
VFS下面是flash文件系统(将在下节介绍)。
在查看VFS子系统的总体架构之前,我们先看看所使用的主要对象。
而虚拟文件系统(VFS)是内核中支持的大多数文件系统的抽象层。
从根本上来说,它将大部分VFS调用都委托给一个专用的守护进程来处理。
VFS提供抽象层,从而将POSIXAPI与特定文件系统如何实现该行为的细节分离开来。
图2从VFS的角度显示Linux结构的高级视图。
我们已经查看了VFS层中的各种重要对象,现在我们通过一个图表展示它们之间的关系。
VFS是使Zope声名远扬的技术基础结构的主要组成部分。
现在,我们向LinuxVFS提供的抽象特性添加一些具体的架构。
VFS在SCI和内核所支持的文件系统之间提供了一个交换层(请参看图4)。
现在,检查是否有可用于特定内核版本的VFS-lock补丁。
文件系统驱动程序实现将来自VFS的请求发送回用户空间。
最大的困难就是当前支持成熟的VFS的语言运行时库很少。
vfs_gfs指向对应的文件系统的structgfs结构。
脚本化文档和VFS是宏大的主题,值得开辟它们自己的专栏。