• 文件管理系统----文件目录


    文件目录

    目录结构

    在这里插入图片描述
    用一个目录表来表示这个目录下都存放了哪些东西,在D盘的每一个文件,文件夹都会对应D盘当中的一个表项,所以一条条的目录项本身就是一条条的记,所以目录本身就是一种有结构的文件;
    目录也是一种特殊的文件
    在这里插入图片描述

    1.1文件控制块

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    单击目录结构

    在这里插入图片描述
    单极目录实现了"按名存取", 但是最大的缺点是文件不能重名,

    两极目录结构

    在这里插入图片描述
    在这里插入图片描述
    缺点:每一个用户都不能对自己的文件进行分类;

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

    在这里插入图片描述
    存在的问题:当用户需要频繁的访问某同一目录下的多个文件的时候,如果使用绝对路径进行查找,那么每次访问该路径下的文件都要从根目录开始查找,每次都需要3次读磁盘I/O操作,是非常麻烦和耗时间的;
    相对路径
    在这里插入图片描述
    在这里插入图片描述
    树形目录的缺点:不便于实现文件的共享

    无环图目录结构

    在这里插入图片描述
    无环图就是在树形目录的基础上添加了一些指向同一结点的有向边,使得某些文件或目录(目录其实就是目录文件)可以被多个用户共享;
    于是解决了文件共享的问题;但随之而来的新问题是:当这些共享文件需要删除的时候,由于被多个用户所共享,就不能想树形目录中那样简单的删除目录表的对应的目录项就行了,于是为每一个共享结点设置了共享计数器,具体操作如下图:
    在这里插入图片描述
    在这里插入图片描述

    索引结点(对文件控制块的优化)

    在这里插入图片描述

    如果使用普通的FCB,假设一个FCB是64B,磁盘块的大小是1KB,那么一个块只能存放16个FCB(目录项),假设一个文件目录中有640个目录项,则需要占用40个块,按照文件名检索该目录,平均需要查询320个目录项,等于20个块(因为每次磁盘I/O只能读入一块),所以需要启动20次磁盘,是非常耗费时间的,而引入索引结点进行优化之后,将目录项中除了文件名之外(因为是只根据文件名进行索引的)的所有信息都存放在一个索引结点之中,目录项中的另个位置只保存指向对应结点的指针,那么一个目录项的大小会大大减小,假设文件名大小是14B,索引指针占2B,那么可以一个块可以存放原来4倍容量的FCB ,I/O磁盘也就变为了1/4*20=5次;提高了检索效率;

    当找到了对应的文件目录项之后,需要将索引结点调入内存,索引结点中及记录了各种信息,包括在外村中的位置,根据外村中的位置便可以找到该文件;注意索引节点名称的变化;
    在这里插入图片描述

  • 相关阅读:
    数据仓库实验二:关联规则挖掘实验
    基于SpringBoot的单应用项目模板(考虑到后期做微服务,内部已经做了拆分)
    Meta AI的Nougat能够将数学表达式从PDF文件转换为机器可读文本
    攻防世界maze做法(迷宫题)
    Pytorch的tensor数据类型 -- 常见用法介绍:
    2、VRP基础
    基于PHP的学生选修课网上选课系统设计与实现
    重写 equals 方法,实现比较两个对象值是否相等
    一个基于NetCore可视化编辑CMS系统
    网络配置(一)
  • 原文地址:https://blog.csdn.net/linjianshaonian_/article/details/127760347