文件系统的层次结构 - wolai 笔记
现代操作系统有多种文件系统类型(如FAT32,NTFS,ext2,ext3等),因此文件系统的层次结构也不尽相同。

用户接口

文件系统需要向上层的用户提供一些简单易用的功能接口
这层就是用于处理用户发出的系统调用请求(Read、Write、Open、 Close 等系统调用)

文件目录系统

用户是通过文件路径来访问文件的,因此这一层需要根据用户给出的文件路径找到相应的PCB或索引结点
所有和目录、目录项相关的管理工作都在本层完成,如:管理活跃的文件目录表、管理打开文件表等。

存取控制模块

为了保证文件数据的安全,还需要严重用户是否有访问权限。
这一层主要完成了文件保护相关功能

逻辑文件系统与文件信息缓冲区

用户指明想要访问文件记录号,这一层需要将记录号转换为对应的逻辑地址

物理文件系统

这一层需要把上一层提供的文件逻辑地址转换为实际的物理地址

辅助分配模块

负责文件存储空间的管理,即负责分配个回收存储空间

设备管理模块

直接与硬件交互,负责和硬件直接相关的一些管理工作。如:分配设备、分配设备缓冲区、磁盘调度、启动设备、释放设备等。

Sample

假设某用户请求删除文件“D:/工作目录/学生信息.xlsx”最后100条记录
  • 1、用户需要通过操作系统提供的接口发出上述请求 —— 用户接口
  • 2、由于用户提供的是文件存放路径,因此需要操作系统一层一层地查找目录,找到对应的目录项 —— 文件目录系统
  • 3、不同的用户对文件有不同的操作权限,因此为了保证安全,需要检查用户是否有访问权限 —— 存取控制模块(存取控制验证层)
  • 4、验证了用户的访问权限之后,需要把用户提供的“记录号”转变为对应的逻辑地址 —— 逻辑文件系统与文件信息缓冲区
  • 5、知道了目标记录对应的逻辑地址后,还需要转换成实际的物理弟子 —— 物理文件系统
  • 6、要删除这条记录,必定要对磁盘设备发出请求 —— 设备管理程序模块
  • 7、删除这些记录后,会有一些盘块空闲,因此要将这些空闲盘块回收 —— 辅助分配模块

Comment