Author : Cyan_RA9
Source : 【卡码笔记】网站
Question : 解释一下文件的目录结构,以及常见的目录类型?
【简要回答】
- 单级目录结构:
所有文件堆在一个目录里,文件名必须唯一,结构简单但检索速度慢。 - 两级目录结构:
分主文件目录和用户文件目录,用户间文件隔离,解决了文件名冲突的问题,但分类有限,缺乏灵活性。 - 树形目录结构:
目录可以嵌套,形成树状结构,方便文件管理和查找,但路径过长。 - 无环图目录结构:
在树形结构基础上允许共享目录和文件,提高了资源利用率,但实现复杂。
【详细回答】
- 单级目录结构:
- 定义:是指在一个目录中包含所有的文件,即在整个文件系统中只建立一张目录表,每个文件占一个目录项。
- 优缺点:\ 优点:结构简单,容易实现。\ 缺点:只能按名存取;不允许文件重名和文件共享;文件数量增多时,查找效率降低。
- 应用场景:只适用于单用户系统。
- 两级目录结构:
- 定义:将目录分成主文件目录和用户文件目录,主文件目录(Master File Directory,MFD) 中的 目录项 包括用户名和指向该用户目录的指针,用户文件目录(User File Directory,UFD) 则包括该用户所有文件的文件控制块。
- 优缺点:\ 优点:解决了重名问题、提高了搜索速度、实现了用户隔离。 缺点:用户不能对自己的文件进行分类管理。
- 应用场景:适用于多用户系统,但用户间不需要共享文件的场景。
- 树形目录结构:
- 定义:以根目录为起点,支持无限层级子目录,其中树根是根目录,每个树枝是子目录,而树叶是文件。
- 优缺点:\ 优点:层次结构非常清晰,同时解决了文件重名和文件共享问题。\ 缺点:查找文件需要按路径名逐级访问中间结点,增加了磁盘访问次数,降低查询速度,也不便于实现文件共享。
- 应用场景:适用于大多数操作系统,例如 Windows、Linux、macOS 等。
- 无环图目录结构:
- 定义:通过在树形目录结构的基础上添加指向同一文件或子目录的有向边,使得整个目录成为一个有向无环图。无环图目录结构允许文件和子目录有多个父目录,不同用户的目录可以指向同一个文件或子目录。
- 优缺点:\ 优点:方便了文件共享;提高了资源利用率。\ 缺点:实现复杂;增加了维护成本。
- 应用场景:适用于需要高度共享资源的系统,例如分布式文件系统。
【知识拓展】
-
单级目录结构 和 两级目录结构 的示意图如下:
-
树形目录结构 的示意图如下:(以Linux树形目录结构为例)
-
无环图目录结构 的示意图如下:
-
树形目录中的相关概念:
- Current Directory(当前目录) :
当前目录是指进程当前所在的目录,又称工作目录,每次进程对文件的访问都基于当前目录进行,因此加快了文件的检索速度。 - Path Name(路径名) :
- 路径名是指从根目录或者当前目录开始,到文件所在目录之间的所有目录名与文件名依次地用分隔符连接起来形成的字符串。在树形目录结构中,使用路径名唯一标识文件。在Unix中,路径分隔符是'/',而在Windows系统中则是'\'。
- 从根目录开始的路径名,称为绝对路径名(Absolute Path Name);从当前目录开始的路径名,称为相对路径名(Relative Path Name)。
- Current Directory(当前目录) :