Linux虚拟文件系统:

为了支持各种不同的文件系统,Linux 内核在用户进程和文件系统的中间,又引入了一个抽象层,也就是虚拟文件系统 VFS(Virtual File System)。

VFS 定义了一组所有文件系统都支持的数据结构和标准接口。这样,用户进程和内核中的其他子系统,只需要跟 VFS 提供的统一接口进行交互就可以了。

Linux 支持多种的文件系统,按照存储位置的不同,分为三类:

1. 基于磁盘的文件系统,数据直接存储在计算机本地挂载的磁盘中。例如 Ext4、XFS、OverlayFS 等。
2. 基于内存的文件系统,就是我们常说的虚拟文件系统。不需要磁盘分配存储空间,但会占用内存。例如/proc、/sys等文件系统。
3. 网络文件系统,用来访问其他计算机数据的文件系统。例如 NFS、SMB、iSCSI 等。

这些文件系统,要先挂载到 VFS 目录树中的某个子目录(称为挂载点),然后才能访问其中的文件。

图:Linux 文件系统的架构图

《Linux性能优化实战》
展开
jsam于2020-02-28 01:50发布的图片
评论