文件系统实现¶
概述¶
文件系统实现
文件系统在操作系统中的具体实现方法和数据结构。
核心数据结构¶
超级块¶
超级块
描述整个文件系统的信息。
内容:
- 文件系统类型和大小
- 空闲块数量和位置
- inode数量和位置
- 文件系统状态
inode(索引节点)¶
inode
存储文件的元数据和控制信息。
内容:
- 文件类型和权限
- 文件大小
- 时间戳
- 数据块指针
- 引用计数
目录项¶
目录项
目录中的文件项。
内容:
- 文件名
- inode号
内存数据结构¶
打开文件表¶
打开文件表
记录所有打开的文件。
内容:
- 文件描述符
- inode指针
- 文件指针位置
- 打开模式
文件控制块(FCB)¶
FCB
内存中的文件控制信息。
文件系统挂载¶
挂载过程
- 检查设备是否存在
- 读取超级块
- 验证文件系统类型
- 建立挂载点
- 初始化内存数据结构
常见文件系统实现¶
EXT4¶
EXT4
- Linux默认文件系统
- 支持大文件和大容量
- 日志文件系统
- 延迟分配
NTFS¶
NTFS
- Windows默认文件系统
- 支持文件压缩和加密
- 磁盘配额管理
- 访问控制列表