定义
linux 每个文件有两个数据结构:
- 索引节点:inode 用来记录文件元数据,如文件大小、权限、位置、修改日期等,同时会持久化在磁盘并占用空间
- 目录项:dentry 用来记录文件名称,索引节点指针,和其他目录项的关联关系,构成目录结构,由内存维护的
inode 是每个文件的唯一标志,目录项维护文件系统的目录结构
文件系统把连续的扇区组成逻辑块,每次都以逻辑块为最小单元来管理数据。常见逻辑块大小为 4KB。
磁盘在执行文件系统格式化时,会被分成三个存储区域:
- 超级块:存储整个文件系统的状态
- 索引节点区:用来存储索引节点
-
虚拟文件系统
VFS 它定义了文件系统都支持的数据结构和标准接口,用户不需要关系底层实现
用户的应用程序通过系统调用到内核空间,然后通过 VFS 来访问文件系统
linux 支持各种各样的文件系统 基于磁盘的文件系统 Ext4、XFS
- 基于内存的文件系统 如 /proc
- 网络文件系统:用来访问其他计算机文件系统,如 NFS
这些文件系统必须要挂载到 VFS 目录树中的某个子目录也就是挂载点才能访问其中的文件