-
文件的目录
文件的目录
文件控制块FCB
- 我们的每个根目录都会对应一个目录文件,我们的目录文件是一种结构的文件,由一条条的记录组成,每个记录都对应一个在该目录下的文件,这样的每个记录就是对应的文件控制块
- 在我们的D盘下照片这个目录,对应的是我们照片这个目录文件,FCB实现了文件名和文件之间的映射,使用户可以实现按名存取
- 文件名
- 物理地址
- 逻辑结构
- 物理结构
- 存取控制信息(是否可读/可写等)
- 使用信息 文件的建立时间,上次修改的时间
- 等等等
对目录的操作
单级目录结构
- 单级目录:整个系统中只有一张目录表,所有的文件都放在这个目录中,也就是说不能创建其他的目录文件
- 实现了按名存取,但是不允许文件重名
两级目录结构
- 为了早期的多用户的操作系统,为每一个用户创建一个用户文件目录,每个用户文件目录创建在主文件目录下
- 每个用户创建文件在自己的用户文件目录下
- 允许不同用户文件下文件可以重名
多级目录结构(树形目录结构)
- 各级目录之间需要/隔开,从不同的位置出发可分为
- 绝对路径:从根目录开始出发
- 系统根据绝对路径一层层地找到下一级目录 刚开始从外存读入根目录的目录表,找到照片目录的外存位置,从外存读入对应的目录表,依次这样寻址,最后找到我们目标文件的存放位置,读取对应的文件进内存
- 相对路径 :如果引入一个当前目录,我们就可以从这个目录开始出发寻找文件,就可以减少对应的I/O次数
存在的问题
无环图目录结构
- 可以用不同的文件名区指向同一个文件,甚至可以指向同一个目录,需要为每个共享结点设置一个共享计数器,用于记录有多少各地方在共享该结点
- 在删除结点请求的时候,只有共享计数器的数为0,才能真正的删除文件,否则就删除对应的FCB和共享计数器减1
- 共享文件不同于复制文件,共享文件是同一份文件,如果其中一个地方改了,其他地方都能看见改动
索引节点(FCB的改进)瘦身
- 就是在我们查找各级目录的过程,只需要用到文件名这个信息来匹配我们要找的信息,只有文件名匹配上才会读取文件的其他信息,所以我们考虑让目录文件瘦身(因为目录项越小,我们一次I/O能得出目录项的个数越多,从而能减少磁盘I/O次数)
- 索引结点目录文件由文件名和索引指针结点组成,索引结点指向除了文件名之外的文件描述信息存储地方,只有文件名匹配上才会调用相应的信息进入内存
- 存放在外存的叫做磁盘索引结点
- 存放在内存的叫内存索引结点
- 内存索引结点存储的信息比磁盘索引结点多一点,文件是否被修改,有几个进程访问这个文件
-
相关阅读:
神经网络 设计层数和神经元数量的考虑
学js的第二十一天
Postgresql在linux环境下以源码方式安装
日期相关工具类
在Linux系统上检测GPU显存和使用情况
Google Earth Engine(GEE)——利用Landsat 5 每一期影像制作动画时序并附带时间属性
【重识云原生】第六章容器6.3.5节——Controller Manager概述
在windows10 安装子系统linux(WSL安装方式)
基于大数据的企业岗位需求决策
听书项目总结
-
原文地址:https://blog.csdn.net/qq_50985215/article/details/127701976