虚拟文件系统(Virtual File System,VFS)是由Sun microsystems 公司创造的是一种用于网络环境的分布式文件系统,允许和操作系统使用不同的文件系统实现接口。虚拟文件系统是物理文件系统与服务之间的一个接口层,它对Linux的每个文件系统的所有细节进行抽象,使得不同的文件系统在Linux核心以及系统中运行的其他进程看来,都是相同的。
VFS并不是一种实际的文件系统。它只存在于内存中,不存在于任何外存空间。VFS在系统启动时建立,在系统关闭时消亡。
VFS的作用是屏蔽各文件系统的差异,处理一切和底层设备驱动相关的细节。
VFS有自己的超级块,i节点,文件和目录项。
虚拟文件系统
VFS虚拟文件系统
通过VFS建立物理设备与文件系统服务的接口,使得多种不同的文件系统(vfat,Windows,MSDOS,nfs,extfs,hpfs)在UNIX系统中都被管理进程看作相似的文件系统,因而可以在UNIX中安装支持多种类型的文件系统。
VFS的功能
①记录可用文件类型
②建立设备与文件的联系
③实现面向文件的通用型操作
④将特定文件系统的操作映射到物理文件系统管理中
VFS 示意
虚拟文件系统
VFS
VFS i_node缓存
VFS 目录缓存
MINIX FS
EXT FS
EXT2 FS
MSDOSFS
缓存存储区
I/O驱动
实际文件系统
Swap文件系统用于Linux的交换分区。在Linux中,使用整个交换分区来提供虚拟内存,其分区大小一般应是系统物理内存的2倍,在安装Linux操作系统时,就应创分交换分区,它是Linux正常运行所必需的,其类型必须是Swap,交换分区由操作系统自行管理。Swap作为Linux中的虚拟内存,在硬盘上开辟空间,当内存不够时可以通过“内存交换技术”增加系统的可用内存。
Swap文件系统
VFAT(Virtual File Allocation Table)是“虚拟文件分配表”。它对FAT16文件系统进行扩展,并提供长达255个字符的文件名, VFAT仍保留有扩展名,而且支持文件日期和时间属性。
在Linux系统中, VFAT是对DOS,Windows系统下的FAT文件系统的一个统称。Linux系统中可以使用系统中已经存在的FAT分区,也可以自行建立新的FAT分区。
VFAT
NFS(Network File System)即网络文件系统,NFS是由Sun开发并发展起来的一项在不同机器、不同操作系统之间通过网络共享文件的技术。它是连接在网络上计算机之间共享文件的一种方法。NFS适合于字符命令方式完成网络之间的文件共享。
NFS体系至少有两个主要部分:一台NFS服务器和若干台客户机。客户机通过TCP/IP网络远程访问存放在NFS服务器上的数据。
NFS
XFS( EXtended File System)是美国硅图公司开发的一种非常优秀的日志文件系统,已移植到Linux内核,适合处理大型文件和数据的平稳传输。XFS 最初是由 Silicon Graphics,Inc. 于 90 年代初开发的。
XFS
XFS特点有:
1)数据完全性
2)传输特性
3)可扩展性
4)传输带宽
ISO 9660文件系统是一个标准的CD-ROM文件系统,它允许用户在一些主要的计算机平台上读取CD-ROM文件。Linux对该文件系统也有很好的支持,不仅能读取光盘和光盘ISO映像文件,而且还支持在Linux环境中刻录光盘。
ISO9660
Linux系统上的/proc目录是一种文件系统,即proc文件系统。/proc是一种伪文件系统(即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态。
proc文件系统是一种无存储的文件系统,当读其中的文件时,其内容动态生成,当写文件时,文件所关联的写函数被调用。
proc