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

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

参考书籍: 王道考研

视频地址: Bilibili

文件目录

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

文件控制块

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

目录操作:

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

目录结构

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

索引结点

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

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

相关推荐
崎岖Qiu10 小时前
【设计模式笔记17】:单例模式1-模式分析
java·笔记·单例模式·设计模式
Chloeis Syntax11 小时前
MySQL初阶学习日记(1)--- 数据库的基本操作
数据库·学习·mysql
lkbhua莱克瓦2411 小时前
Java练习-正则表达式 1
java·笔记·正则表达式·github
musenh12 小时前
css样式学习
css·学习·css3
Larry_Yanan12 小时前
QML学习笔记(五十)QML与C++交互:QML中单例C++对象
开发语言·c++·笔记·qt·学习·ui·交互
im_AMBER12 小时前
算法笔记 09
c语言·数据结构·c++·笔记·学习·算法·排序算法
Nan_Shu_61413 小时前
学习:JavaScript(5)
开发语言·javascript·学习
yuxb7313 小时前
ELK企业级日志分析系统
笔记·elk
民乐团扒谱机13 小时前
实验室安全教育与管理平台学习记录(八)特种设备安全
学习·安全
卡提西亚13 小时前
C++笔记-9-三目运算符和switch语句
c++·笔记