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

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

参考书籍: 王道考研

视频地址: Bilibili

文件目录

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

文件控制块

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

目录操作:

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

目录结构

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

索引结点

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

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

相关推荐
say_fall9 分钟前
【Git 精品详解】企业规范:企业级开发模型、Git Flow、发版流程规范、Code Owner 制度、事故应急回滚
大数据·linux·服务器·git·学习·elasticsearch
kgduu14 分钟前
react-redux学习笔记
笔记·学习·react.js
RainCityLucky25 分钟前
Java Swing 自定义组件库分享(十三)
java·笔记·后端
诗句藏于尽头32 分钟前
Ai-3D音乐播放器-Mineradio -VibeCoding大赏-新增歌词字体自定义上传功能(个人学习)
学习
TE-茶叶蛋1 小时前
Node.js-Phase 1 学习总结:CLI 文件管理系统
学习·node.js
Waay10 小时前
面试口述版:个人对 Prometheus 完整理解
运维·学习·云原生·面试·职场和发展·kubernetes·prometheus
一楼的猫13 小时前
AI写作合规技术方案:平台检测机制分析与规避策略
人工智能·学习·机器学习·ai写作
四月天4314 小时前
web安全-SSTI(服务器模板注入)
笔记·学习·web安全·网络安全
网络与设备以及操作系统学习使用者15 小时前
相对论核心原理详解
学习·深度优先
疯狂打码的少年15 小时前
【操作系统】虚拟存储管理(局部性原理、缺页中断)
笔记