VFS
Sun公司开发的虚拟文件系统
VFS(virtual File System)的作用就是采用标准的Unix系统调用读写位于不同物理介质上的不同文件系统,即为各类文件系统提供了一个统一的操作界面和应用编程接口。虚拟文件系统(VFS)是一个软件抽象层,最初是为了解决透明地访问本地文件系统和远程网络文件系统文件的问题而引入的。
Sun网络文件系统(NFS)提供对文件系统的透明、远程访问。与unix下的许多其他远程文件系统实现不同,NFS被设计为易于移植到其他操作系统和机器体系结构。为了以一种对应用程序透明的方式将NFS构建到UNIX内核中,太阳微系统(Sun Microsystems,Inc.)向内核添加一个新接口,将通用文件系统操作与特定文件系统实现分开。该“文件系统接口”由两部分组成:虚拟文件系统(VFS)接口定义了可以在文件系统上执行的操作,而虚拟节点(vnode)接口定义了可以在该文件系统中的文件上执行的操作。
虚拟文件系统(VFS)接口,也称为v-node接口,提供了物理文件系统和逻辑文件系统之间的桥梁。这个接口允许支持物理文件系统的多个并发实例,每个实例称为一个文件系统实现,文件系统实现可以支持将文件数据存储在本地节点或远程节点。
VFS(virtual File System)充当了用户和文件的后台文件系统之间的接口,屏蔽了诸如‘open()’‘read()’‘write()’等通用调用背后的任何实现细节。大多数用户空间程序都以完全与文件系统无关的方式编写,而VFS提供了更大的灵活性和可移植性。
词语
1.VideoFileServer--视频文件服务器
2.VirtualFileStorage--虚拟文件存储
3.VirtualFileSystem--虚拟文件系统
4.VoltageFiberSensor--电压光纤传感器
基本介绍
Linux是一个非常优秀的操作系统,它是免费的,而且很稳定。 Linux所支持的文件系统高达十几个,除了为它量身打造的Ext2之外,它还支持了MINIX,FAT,VFAT,NFS,NTFS…等等。
所谓VFS就是Virtual File System虚拟文件系统,也称为虚拟文件系统开关(Virtual Filesystem Switch).
这是Linux文件系统对外的接口。任何要使用文件系统的程序都必须经由这层接口来使用它。
VFS是一个异构文件系统之上的软件粘合层(注:有时也把VFS称为可堆叠的文件系统(Stackable Filesystem),因为VFS可以无缝地使用多个不同类型的文件系统,就像把多个文件系统堆叠在一起一样,故而得名)。通过VFS,可以为访问文件系统的系统调用提供一个统一的抽象接口。
VFS最早由太阳微系统提出以实现NFS(Network FileSystem,网络文件系统)。但是现在很多unix系统都采用了VFS(包括LinuxFreeBSDSolaris等)。
Linux下的VFS:
VFS的作用就是采用标准的Unix系统调用读写位于不同物理介质上的不同文件系统。VFS是一个可以让open()、read()、write()等系统调用不用关心底层的存储介质和文件系统类型就可以工作的粘合层。在古老的DOS操作系统中,要访问本地文件系统之外的文件系统需要使用特殊的工具才能进行。而在Linux下,通过VFS,一个抽象的通用访问接口屏蔽了底层文件系统和物理介质的差异性。
每一种类型的文件系统代码都隐藏了实现的细节。因此,对于VFS层和内核的其它部分而言,每一种类型的文件系统看起来都是一样的。
Linux中,VFS采用的是面向对象的编程方法。
目录
概述
词语
基本介绍
参考资料