操作系统中目录的结构详细介绍

2021年3月11日16:53:27 发表评论 842 次浏览

一种目录是用于包含文件夹和文件的容器。它以分层方式组织文件和文件夹。

操作系统中目录的结构1

目录有几种逻辑结构, 下面给出。

单级目录–

单级目录是最简单的目录结构, 其中所有文件都包含在同一目录中, 因此易于支持和理解。

但是, 当文件数量增加或系统具有多个用户时, 单级目录具有明显的限制。由于所有文件都在同一目录中, 因此它们必须具有唯一的名称。如果两个用户调用他们的数据集测试, 则违反了唯一名称规则。

操作系统中目录的结构2

优点:

  • 由于它是单个目录, 因此其实现非常容易。
  • 如果文件较小, 搜索将变得更快。
  • 在这样的目录结构中, 文件创建, 搜索, 删除, 更新等操作非常容易。

缺点:

  • 因为两个文件不能具有相同的名称, 所以可能会发生名称冲突。
  • 如果目录很大, 搜索将花费大量时间。
  • 在此不能将相同类型的文件分组在一起。

两级目录–

如我们所见, 单一级别的目录通常会导致不同用户之间的文件名混淆。解决此问题的方法是为每个用户创建一个单独的目录。

在两级目录结构中, 每个用户都有自己的目录用户文件目录(UFD)。 UFD具有相似的结构, 但是每个UFD仅列出单个用户的文件。系统的主文件目录(MFD)每当有新用户ID登录时, 即进行搜索。MFD通过用户名或帐号建立索引, 并且每个条目都指向该用户的UFD。

操作系统中目录的结构3

优点:

  • 我们可以提供完整的路径, 例如/ User-name / directory-name /。
  • 不同的用户可以具有相同的目录和文件名。
  • 由于路径名和用户分组, 文件搜索变得更加容易。

缺点:

  • 不允许一个用户与其他用户共享文件。
  • 仍然不是很可伸缩, 同一类型的两个文件不能在同一用户中分组在一起。

树形目录–

一旦我们将两级目录视为高度为2的树, 自然的概括就是将目录结构扩展为任意高度的树。

这种概括允许用户在其中创建自己的子目录, 并相应地在其文件上进行组织。

操作系统中目录的结构4

树结构是最常见的目录结构。该树具有一个根目录, 并且系统中的每个文件都具有唯一的路径。

优点:

  • 非常概括, 因为可以给出完整的路径名。
  • 扩展性强, 名称冲突的可能性较小。
  • 搜索变得非常容易, 我们既可以使用绝对路径, 也可以使用相对路径。

缺点:

  • 每个文件都不适合分层模型, 文件可以保存到多个目录中。
  • 我们无法共享文件。
  • 这是低效率的, 因为访问文件可能位于多个目录下。

非循环图目录–

非循环图是没有循环的图, 并允许共享子目录和文件。同一文件或子目录可能位于两个不同的目录中。这是树形目录的自然概括。

当两个程序员在一个联合项目中工作并且他们需要访问文件时, 就可以使用它。关联的文件存储在子目录中, 从而将它们与其他项目和其他程序员的文件分开, 因为它们正在处理联合项目, 因此他们希望子目录位于自己的目录中。公用子目录应该共享。因此, 这里我们使用非循环目录。

需要注意的是共享文件与复制文件不同。如果任何程序员在子目录中进行了某些更改, 它将反映在两个子目录中。

操作系统中目录的结构5

优点:

  • 我们可以共享文件。
  • 由于路径不同, 搜索很容易。

缺点:

  • 我们通过链接共享文件, 如果删除文件可能会导致问题,
  • 如果链接是软链接, 则在删除文件后, 我们会留下一个悬空的指针。
  • 如果是硬链接, 要删除文件, 我们必须删除与其关联的所有引用。

常规图目录结构–

在一般的图形目录结构中, 目录结构中允许循环, 在该目录结构中可以从一个以上的父目录派生多个目录。

这种目录结构的主要问题是计算文件和目录占用的总大小或空间。

操作系统中目录的结构6

优点:

  • 它允许循环。
  • 它比其他目录结构更灵活。

缺点:

  • 它比其他人更昂贵。
  • 它需要垃圾收集。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: