一. 前言
基于上文介绍的文件系统的基本结构,本文将继续深入Linux文件系统的精髓所在:虚拟文件系统。操作文件的本质是将磁盘文件数据映射到进程中,上文的文件系统是如何存储文件数据,而从进程如何映射到该文件系统,中间还有一系列的过程,主要包括
- 进程发出文件操作命令,通过系统调用如
sys_open
、sys_read
、sys_write
调用相应内核函数 - 在内核中为进程打开的文件和系统文件创建数据结构进行维护
- 通过虚拟文件系统对各种不同的文件系统操作,如I/O设备、管道、进程间通信、网络等进行抽象并统一接口
- 实现虚拟文件系统和实际文件系统如ext4的挂载
- 提供文件系统和I/O设备层的设备驱动接口及加快读写效率的缓存