Lab 8:文件系统

文件系统

概念

文件系统是操作系统中管理持久性数据的子系统,提供数据存储和访问功能。

文件是具有符号名,由字节序列构成的数据项集合。文件是文件系统的基本数据单位。文件名是文件的标识符号。

文件描述符是指操作系统在打开文件表中维护的打开文件状态和信息。

文件以目录的方式组织起来。目录是一类特殊的文件,目录的内容是文件索引表,即 <文件名,指向文件的指针>

文件别名即两个或多个文件名关联同一个文件。具体可分为:

  • 硬链接:多个文件项指向一个文件。
  • 软链接:以“快捷方式”指向其他文件。通过存储真实文件的逻辑名称来实现。

文件系统需要先挂载才能被访问。

文件系统具体可分为如下几类:

  • 磁盘文件系统
  • 数据库文件系统
  • 日志文件系统
  • 网络/分布式文件系统
  • 特殊/虚拟文件系统

虚拟文件系统

虚拟(逻辑)文件系统(VFS,Virtual File System)的目的是对所有不同文件系统的抽象。其提供如下功能:

  • 提供相同的文件和文件系统接口
  • 管理所有文件和文件系统关联的数据结构
  • 高效查询例程,遍历文件系统
  • 与特定文件系统模块的交互

具体来说,文件系统基本数据结构有:

  • 文件卷控制块(Unix:superblock):每个文件系统一个。当文件系统挂载时进入内存。
  • 文件控制块(Unix:vnode/inode):每个文件一个。当文件被访问时进入内存。
  • 目录项(Linux:dentry):每个目录项一个。在遍历一个文件路径时进入内存。

冗余磁盘阵列

  • RAID-0:
  • RAID-1(磁盘镜像):向两个磁盘写入,从任何一个读取
  • RAID-4:

I/O 子系统