虚拟文件系统
文件系统应支持操作文件的一系列功能(open、close、stat等),然而命令的实现方法虽大致相同,但各种文件系统提供的接口却又差异。若想使用多种操作系统就必须掌握每个文件系统提供的一套接口,势必会增加使用者的负担;但若将文件系统的命令内置到用户命令中,又会增加用户命令的体积,显然这两种方法都有极大的缺陷。为了解决这个问题,Linux系统在各种文件系统之上,添加了虚拟文件系统(Virtual Filesystem,简称VFS)。
虚拟文件系统又称虚拟文件切换系统(Virtual Filesystem Switch),是操作系统中文件系统的虚拟层,其下才是具体的文件系统。虚拟文件系统的主要功能,是实现多种文件系统操作接口的统一,既能让上层的调用者使用同一套接口与底层的各种文件系统交互,又能对文件系统提供一个标准接口,使Linux系统能同时支持多种文件系统。虚拟文件系统与上层应用以及底层的各种文件系统之间的关系如图1所示。
图1 虚拟文件系统
正式基于虚拟文件系统,Linux系统才能支持多种文件系统。除Linux上常用的文件系统ext2~ext4、xfs、reiserfs、jfs(日志文件系统)外,Linux还支持网络上常用的文件系统:nfs、ocfs2、gfs2,以及其它的文件系统,如FAT32、NTFS、ISO9660、CIFS等。