文件目录

文件控制块

FCB的有限集合称为文件目录,一个FCB就是一个文件目录项

如上图所示,2015-08啊啥的是目录文件,就是文件夹,微信不拉不拉的就是个文件,所有的这些个FCB组成文件目录,每条FCB包含了文件的基本信息(文件名,物理地址,逻辑结构,物理结构等),存取控制信息(是否可读/可写,禁止访问的用户名单等),使用信息(文件建立,修改时间)

最重要的是文件名和物理地址,因为FCB就是要实现可以让用户通过文件名与文件间的映射实现“按名存取”

目录结构

单级目录文件

早期计算机系统不支持多级目录,整个系统只有一张目录表,每个文件占一个目录项

因此在单级目录下肯定是不允许有重名文件的,不然你想要是按文件名查找,有重名的操作系统哪知道你要找的到底是哪个啊

那在创建新文件时,要先检查文件目录里有没有重名的,没有重名的才能建立文件再将对应的目录项插入到目录表里

综上所述,如果有多个用户同时使用计算机,很有可能产生同名文件,因此不适用于多用户操作系统,为了解决这个问题,提出了两级目录文件的概念

两级目录文件

早期的多用户操作系统中,采用两级目录结构,分为主文件目录和用户目录

注意这里是根据不同用户划分的,user1想访问user2的FCB就不行,但是这样的话不同用户的文件可以同名;然而这样的两级目录还是有缺点,那就是用户不能将自己的文件进行分类,为了解决这个问题就引出了多级目录的概念

多级目录文件(树形目录结构)

上面说到自拍.jpg,那操作系统是怎么找到他的呢?

操作系统是根据绝对地址一层一层找到下一级目录的,首先从外存读入根目录的目录表,找到照片目录存放位置,从外存读出相应目录表,在找到2015-08目录的存放位置,再从外存取出对应目录表,最后找到自拍.jpg的存放位置,全程需要3次读磁盘I/O操作

但很多时候,用户会连续访问同一目录下多个文件,比如连续查看2015-08的两个文件,如果都按绝对地址从根目录开始找太低效了,这个时候就可以设置一个“当前目录”

虽说多级目录结构可以很方便的对文件分类,层次结构清晰,也能有效对文件管理并保护,但不便于实现文件的共享,因此就提出了无环图目录结构

无环图目录结构

索引节点(FCB的改进)

注意索引节点不是在目录表里的,他在外存,目录项只有文件名和索引节点指针

-------------本文结束感谢您的阅读-------------