【操作系统学习笔记】文件管理1.3

小明 2025-05-01 09:22:21 13

【操作系统学习笔记】文件管理1.3

参考书���: 王道考研

()

视频地址: Bilibili

文件目录

文件之间的组织结构清晰,易于查找

()

文件控制块

目录本身就是一种有结构文件,由一条条记录组成。每条记录对应一个在该目录下的文件,称为文件控制块 FCB,包括文件名、物理地址、逻辑结构、存取权限、使用信息等。FCB 实现了文件名和文件之间的映射。是用户可以实现按文件名存取

目录操作:

  • 搜索: 当用户要使用一个文件时,系统要根据文件名搜索目录,找到该文件对应的目录项
  • 创建文件: 创建一个新文件时,需要在其所属的目录中增加一个目录项
  • 删除文件: 当删除一个文件时,需要在目录中删除相应的目录项
  • 显示目录: 用户可以请求显示目录的内容,如显示该目录中的所有文件及相应属性
  • 修改目录: 某些文件属性保存在目录中,因此这些属性变化时需要修改相应的目标项

    目录结构

    • 单极目录结构: 整个系统中只建立一张目录表,每个文件占一个目录项
      • 实现了按名存取,但是不允许文件重名
      • 在创建文件时,需要先检查目录表中有没有重名文件,确定不重名后才能允许建立文件,并将新文件对应的目录项插入目录表中
      • 两级目录结构: 分为主文件目录和用户文件目录
        • 主文件目录记录用户名机器相应用户文件目录所在位置
        • 用户文件目录由该用户的文件 FCB 组成
        • 允许不同用户的文件重名。文件名虽然相同,但是对应的其实是不同的文件
        • 缺乏灵活性,用户无法对自己的文件进行分类
        • 多级目录结构: 不同目录下的文件可以重名
          • 用户要访问某个文件时要用文件路径名标识文件,文件路径名是个字符串。各级目录之间用 / 隔开。系统根据绝对路径从外存读入根目录的目录表一层一层向下查找
          • 可以很方便地对文件进行分类,层次结构清晰,也能够更有效地进行文件的管理和保护。但是,树形结构不便于实现文件的共享。为此,提出了无环图目录结构
          • 无环图目录结构: 在树形目录结构的基础上,增加一些指向同一个节点的有向边,使整个目录称为一个有向无环图。可以更方便地实现多个用户间的文件共享。需要为每个共享节点设置一个共享计数器,用于记录有多少个地方在共享此节点。用户提出删除节点时,只是删除用户的 PCB,并使共享计数器减一,只有当计数器为 0 时才会删除节点。不同于多级目录文件,各用户指向的是同一个文件,修改也会共享

            索引结点

            在查找各级目录的过程中,只需要使用文件名,只有文件名匹配时才需要其他信息,可以对目录表进行简化来提升效率

            可以在 PCB 中放置文件名和索引节点的指针,将其他信息放置在索引节点表中

The End
微信