目录文件中的一条记录就是一个文件控制块(FCB)
FCB实现了文件名和文件之间的映射,实现了“按名存取”
一个文件对应一个FCB
一个FCB就是一个目录项
多个FCB组成文件目录
下图为某个磁盘的目录文件
下图来自程序员cxuan
下图来自王道考研操作系统
单级目录不允许出现重名,由此引出两级目录
下图来自王道考研操作系统
两级目录无法实现文件分类,比如某个目录下既有照片又有文档,由于只有两级目录但无法再次建立目录,所以无法实现二级目录下文件的分类,由此引出多级目录结构
下图来自程序员cxuan
下图来自王道考研操作系统
绝对路径:从根目录出发的路径
若要访问某个目录下的某个文件,系统从外存读入根目录表,找到下一级目录的存放位置后,从外存读入此级目录表,直到某文件的所在目录
相对路径:从当前目录出发的路径
若要访问某个目录下的某个文件,系统从外存读入当前目录表,找到下一级目录的存放位置后,从外存读入第二级目录表直到某文件的所在目录。这样就节省了读入根目录表和当前目录表直接的很多表,减少了磁盘IO的次数
由于树形目录结构不便于实现不同目录下的文件共享,由此引出无环图目录结构
下图来自王道考研操作系统
由于文件被不同目录所共享,故在删除这个共享文件时,不能简单的将其删除。需要引入一个共享计数器,只有当此共享计数器的值为0时,才可以删除该共享文件
在查找各级目录的过程中,只需要用到“文件名”,只有文件名匹配完后,才需要读出文件的其他信息。故前期可以只从外存读入文件名,其他信息不用读出,以此来减少读出的数据量从而提高效率