Skip to content

(三)文件系统

1. 基本概念

1.1. 三个层次

  • 最底层:文件对象及其属性;

  • 中间层:对文件进行操作和管理的软件集合;

  • 最高层:文件系统提供给用户的接口;

1.2. 全局结构

  • 外存中:控制块,目录结构等;

  • 内存中:目录块缓存,打开文件表等;

2. 外存空闲空间管理方法

2.1. 空闲表(了解)

  • 空闲表是连续分配的,记录外存中每块连续空闲区域的起始块号和长度

2.2. 空闲链表(了解)

  • 空闲盘块链:以盘块为单位,将所有空闲块组织成一条链;

  • 空闲盘区链:一个空闲盘区 = 若干连续的空闲盘块;

2.3. 位示图

img_X7FhygUPsx

  • 二进制中的一位表示某个盘块空闲与否,所有对应位构成一个集合,称位示图

  • 对应盘块号通常是连续的,如元素 [i,j]对应i×nrow+j 号盘块;

  • 分配,回收即是批量修改对应位的值;

2.4. 成组链接法(了解)

img_omMuMDgPbX

  • 空闲盘块栈:存放当前可用的一组空闲盘块号(通常最多 100 个),同时存放 N 表示栈中可用的盘块数;

    • N 兼有栈顶指针作用;
  • 链接:每个空闲盘块栈的栈底存放指向另一个栈的指针,若当前栈不够分配,则去所链接的的下一个栈分配。所有栈依次链接起来;

  • 回收:若回收时可用块个数超出了栈的容量,则放入链接到的下一个栈中;

  • 例:图中 201 到 299 指向空闲盘块,栈底 300 指向下一个空闲盘块栈,下一个栈中 400 又指向下一个,如此直到 7900 号块的栈中为 0,表示没有下一个了;

3. 虚拟文件系统(Virtual File System,VFS)

  • VFS 是一个内核软件层,位于物理文件系统与系统服务之间

  • VFS 抽象出各种文件操作,向上提供给系统服务,而向下管理不同物理文件系统的具体实现

  • VFS 使得系统和进程可以用一组相同的方法操作不同的物理文件系统

4. 挂载(Mounting)

小结

  • 文件和目录的概念;

  • 文件的物理结构;

  • 文件系统;