浅谈操作系统——目录管理

186 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第20天,点击查看活动详情

目录管理的要求

  • 实现“按名存取”
  • 提高目录的检索速度
  • 文件共享
  • 允许文件重名

基本概念

  • 文件控制块(FCB)︰是操作系统为管理文件而设置的数据结构,存放了为管理文件所需的所有有关信息。
    • 文件名,文件号,用户名,文件地址,文件长度,文件类型,文件属性,文件逻辑结构,文件物理结构。
    • 共享计数,文件的建立日期,保存期限,最后修改日期,最后访问日期,口令。
  • 文件控制块是文件存在的标志
  • 文件目录:把所有的FCB组织在一起,就构成了文件目录,即文件控制块的有序集合。
  • 目录项:构成文件目录的项目(目录项就是FCB )
  • 目录文件:为了实现对文件目录的管理,通常将文件目录以文件的形式保存在外存,这个文件就叫目录文件。

目录结构

一级目录结构

为所有文件建立一个目录文件(组成一线性表)

image.png

优缺点

  • 优点:简单,易实现
  • 缺点:
    • 限制了用户对文件的命名(重名问题)文件平均检索时间长
    • 限制了对文件的共享

二级目录结构

  • 二级文件目录结构把目录分成主目录(MFD)和用户文件目录(UFD)两级。
  • 主目录由用户名和用户文件目录首地址组成,用户文件目录中登记相应的用户文件的目录项

image.png

  • 在二级目录结构中,区别不同的文件除文件名外还有文件的用户名,因此不同的用户可以使用相同的文件名。
  • 例如用户A中使用文件名LISH ,用户B也可使用文件名LISH,因为标识这两个文件时还要加上用户名, AILISH和 BLISH,不致于造成混淆。

优缺点

  • 优点:二级目录结构较为简单,也比较好地解决了重名的问题;提高了检索速度。
  • 缺点:缺乏灵活性,特别是不能反映现实世界中多层次的关系。
  • 为此人们提出了多级目录结构,其中 Windows 、MULTICS及UNIX系统均采用了多级目录结构。

多级目录结构

  • 多级目录结构由根目录和各级目录组成,为管理上的方便,除根目录外,其它各级目录均以文件的形式组成目录文件。
  • 根目录中的每个目录项可以对应一个目录文件,也可以对应一个数据文件,同样目录文件中的每个目录项可以对应一个目录文件。也可以对应一个数据文件·如此类推,就形成多级目录结构。
  • 也称树形目录结构。
  • 在这种结构中把根目录称为根结点,把各级目录文件称中间结点,用方框表示·数据文件称为叶结点,用圆圈表示。

image.png

路径名

在多级目录结构中一个文件的唯一标识不再是文件名,而是从根结点开始,经过一个或多个中间结点,到达某个叶结点的一条路径。称这条路径为文件的路径名,它是文件的唯一标识。

路径名由根目录和所经过的目录名和文件名以及分隔符组成,通常使用分隔符/ 。例如ld1/f1/d2/d5/f3 , /f7

工作目录

在多级目录结构中,文件路径名一般较长,而用户总是局部地使用文件,为了方便起见,可把经常使用的文件所在的目录指定为工作目录(或称当前目录)。查询时,若路径名以/开头﹐则从根目录开始查找,否则从当前目录开始查找。