当前位置: 首页 > news >正文

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

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

参考书籍: 王道考研
视频地址: Bilibili

文件系统的层次结构

  1. 用户/应用程序
  2. 用户接口: 文件系统需要向上层的用户提供一些简单易用的功能接口。这层就是用于处理用户发出的系统调用请求
  3. 文件目录系统: 用户是通过文件路径来访问文件的,因此这一层需要根据用户给出的文件路径找到相应的 FCB 或索引节点。所有和目录、目录项相关的管理工作都在本层完成
  4. 存取控制模块: 为了保证文件数据的安全,还需要验证用户是否有访问权限
  5. 逻辑文件系统与文件信息缓冲区区: 用户指明想要访问的文件记录号,这一层需要将记录号转换为对应的逻辑地址
  6. 物理文件系统: 这一层需要把逻辑地址转换成实际的物理地址
  7. 辅助分配模块 | 设备管理模块: 负责文件存储空间的管理,即负责分配和回收存储空间

假设某用户请求删除文件"D:/学生信息/6班.xlsx"的最后 100 条记录

  1. 用户需要通过操作系统提供的接口发出上述请求 -> 用户接口
  2. 由于用户提供的是文件的存放路径,因此操作系统需要一层层地查找目录,找到对应的目录项 -> 文件目录系统
  3. 不同的用户对文件有不用的操作权限,因此为了保证安全,需要检查用户是否有访问权限 -> 存取控制模块
  4. 验证了用户的访问权限后,需要把用户提供的记录号转变为对应的逻辑地址 -> 逻辑文件系统与文件信息缓冲区
  5. 知道了目标记录对应的逻辑地址后,还需要转换成实际的物理地址 -> 物理文件系统
  6. 要删除这条记录,必定要对磁盘设备发出请求 -> 设备管理模块
  7. 删除这些记录后,会有一些空闲盘块,因此要将这些盘块回收 -> 辅助分配模块
http://www.dtcms.com/a/9071.html

相关文章:

  • Git 开源的版本控制系统-06-share to github 如何把项目代码共享到 github
  • 设计模式 工厂模式
  • LeetCode904:水果成篮
  • 智能革新:2024年AI辅助研发的挑战、机遇与未来展望
  • 在职场上,如何提升影响力
  • 七、软考-系统架构设计师笔记-数据库设计基础知识
  • 类复习【C#】
  • 【敬伟ps教程】文字处理工具
  • c#触发事件
  • Spring Boot 注解教程
  • SMT32 TIM1 PWM(发送固定脉冲数)步进电机梯形图加速
  • 深入理解nginx一致性哈希负载均衡模块[上]
  • RabbitMQ篇
  • xml总结
  • 【粉丝福利第四期】:《低代码平台开发实践:基于React》(文末送书)
  • 4. 寻找两个正序数组的中位数
  • MySQL实战:SQL优化及问题排查
  • 382. K取方格数(图论,费用流,拆点,上下界可行流,网格图模型)
  • 通过一篇文章带你玩转git和GitHub
  • ajax中各个参数的含义是什么?
  • 白皮书发布|超融合运行 K8s 的场景、功能与优势
  • 在线部署ubuntu20.04服务器,安装jdk、mysql、redis、nginx、minio、开机自启微服务jar包
  • 外包干了5天,技术退步明显。。。。。
  • JsonUtility和LitJson的特点与区别
  • 编程笔记 html5cssjs 003 协作、约定与标准 50以内的乘法算式
  • EI级 | Matlab实现GCN基于图卷积神经网络的数据多特征分类预测
  • Linux shell 网络掩码地址转CIDR
  • 软考笔记--系统架构评估
  • Flutter使用auto_updater实现windows/mac桌面应用版本升级功能
  • 学习笔记-cmake