第七、八章 目录

从用户角度看,文件系统的主要目的是:实现对文件的按名存取

按文件的逻辑结构将文件分为两大类:记录式文件、流式文件

按物理结构划分,文件主要有三类:顺序文件、链接文件、索引文件

操作系统实现按名存取的关键在于:解决文件名与文件存储地址的转换

组织文件数据
存放文件数据
检索使用文件

文件控制块——FCB
为了能对一个文件进行正确的存取,必须为文件设置用于描述和控制文件的数据结构,称之为“文件控制块”(FCB)

  • 文件与文件控制块一一对应
  • 记录文件名及其存放地址、文件的说明和控制信息。(是谁?在哪里?什么权?)
  • 文件管理程序借助于文件控制块中的信息对文件施以各种操作。

把文件控制块的有序集合称为文件目录,即一个文件控制块就是一个目录项。通常一个文件目录也被看作是一个文件,称为目录文件

目录管理

1、基本信息记录(FCB,目录项)
2、方便检索、管理(目录操作)

目录管理的要求:

  • 实现“按名存取”;(最基本功能)
  • 提高对目录的检索速度;
  • 文件共享;
  • 允许文件重名。

FCB内容:基本信息类、存取控制信息类、使用信息类
文件物理位置:

  • 对于连续文件:文件起始块号;
  • 对于链接文件:指向第一个物理块的指针;
  • 对于索引文件:索引表地址。

文件FCB组成的“目录”文件存放于磁盘;需要时,要从磁盘将目录内容调入内存进行检索和使用

索引结点

减少移动磁头的开销

目录结构

关系到文件系统的存取速度,也关系到文件的共享性和安全性

  • 单级目录

  • 两级目录
    - 提高了检索目录的速度。
    - 在不同的目录中可重名。
    - 不同用户还可以使用相同/不同的文件名来访问系统中的同一个共享文件。

  • 多级目录
    - 层次结构更清晰、提供更灵活的权限管理等
    - 但目录级别太多时也会增加路径检索层次,增加磁盘访问时间

目录查询技术:

用户要访问一个已存文件:

  • 目录数据调入内存;
  • 按名检索:系统利用提供的文件名对目录(根据目录层次,需要做的检索次数也 不同)进行查询
  • 找该文件控制块
  • 读FCB或对应索引结点;
  • 从文件物理地址换算出文件在磁盘上的物理位置;
  • 最后通过磁盘驱动程序,将所需文件读入内存。
线性检索法:

单级目录中

  • 用户提供文件名,顺序查找文件目录。

树型目录中

  • 用户提供路径名,如/user/ast/mbox
  • 对多级目录进行逐层查找
Hash 方法

文件共享(节约存储空间)与保护

方式:索引结点、符号链

猜你喜欢

转载自blog.csdn.net/qq_40199634/article/details/84915460