Io 作者所说的操作系统中的目录结构是什么意思?

Io 作者所说的操作系统中的目录结构是什么意思?,io,directory,operating-system,filesystems,Io,Directory,Operating System,Filesystems,我正在阅读Avi Silberschatz(9thE)的《操作系统概念》,在第11.4节“文件系统安装”中,作者解释了文件系统安装的步骤,如下所示: 操作系统给出了 设备名称和装载点在文件结构中的位置 要附加文件系统的位置 接下来,操作系统验证设备是否包含有效文件 系统 最后,操作系统 系统在其目录结构中注意到文件系统安装在 指定的装入点 我对最后一步感到困惑,因为据我所知,目录结构存储在磁盘上的某个地方,它记录文件的信息——例如名称、位置、大小和类型。那么作者所说的操作系统中的目录结构是什么意

我正在阅读Avi Silberschatz(9thE)的《操作系统概念》,在第11.4节“文件系统安装”中,作者解释了文件系统安装的步骤,如下所示:

  • 操作系统给出了 设备名称和装载点在文件结构中的位置 要附加文件系统的位置
  • 接下来,操作系统验证设备是否包含有效文件 系统
  • 最后,操作系统 系统在其目录结构中注意到文件系统安装在 指定的装入点
  • 我对最后一步感到困惑,因为据我所知,目录结构存储在磁盘上的某个地方,它记录文件的信息——例如名称、位置、大小和类型。那么作者所说的操作系统中的目录结构是什么意思?磁盘上的目录是否相同


    另外,哪个部分完成了从文件名到磁盘上物理地址的转换?它是磁盘驱动程序还是磁盘控制器,还是由带内存的处理器完成的?

    你所读的基本上都是胡说八道。首先,它是特定于太监的。宦官的变种往往有一个单一的目录结构,包含所有磁盘,甚至不是真正的文件

    让我们假设你在温多泽。如果装入磁盘,驱动器会得到一个名称,通常是一个字母,但在某些情况下可能会有更大的名称。假设您安装了一个磁盘驱动器,系统将其分配给“Q:”

    现在Q:是可用的,您可以通过指定以下内容来访问文件 “Q:\dir1\dir2\file.type”

    您正在访问Q:上存在的目录结构

    每个驱动器都有一个独立的目录结构

    许多操作系统都是这样运行的,上面的顺序与它们无关

    Eunchs变体不能以这种方式工作。系统维护一个从“/”开始的目录,该目录是系统的根目录。这是由操作系统维护的目录,在磁盘驱动器上根本不存在

    例如,在Mac上,有一个“/Volumes”目录,其中包含所有装载的驱动器。这些也是由操作系统维护的目录,在磁盘驱动器上根本不存在

    “/Volumes/Macintosh HD” “/卷/备份驱动器”

    然后,这些系统目录链接到存储在这些磁盘上的目录。因此,在宦官中,操作系统维护的目录和磁盘上维护的目录合并在一起

    因此,如果要查找“/Volumes/Backup Drive/dir/something.txt”,系统将转到根“/”查找“Volumes”,并确定这是一个系统目录。查找“备份驱动器”,并确定这是已装入的磁盘驱动器。转到驱动器的根目录,发现“dir”是驱动器上的一个目录,并找到文件something.txt

    更令人困惑的是,有些磁盘格式根本没有目录结构。但这说明你的书正带你走上一条令人困惑的道路

    每个磁盘驱动器都有某种格式。例如NTFS、ODS-11、FAT等

    从这里开始,我要告诉你们的是通常发生的事情的一般化,但是在系统之间,它的工作方式有很大的差异

    通常,每个驱动器都有一个标头,其中包含对正在使用的块簇(通常是位图)和磁盘上文件的描述。文件描述通常包含文件名、创建日期、所有者等。文件描述还包含有关数据存储在磁盘上的位置的信息

    驱动器通常有一个目录结构,其中有一些文件被定义为根目录。目录结构通过在其他目录文件中创建目录文件而存在。目录通常只是一个文件,其中包含文件名列表及其在磁盘头中的描述地址。其他文件属性(如文件大小和创建日期)不存储在目录中。您可以从磁盘头中的文件描述中获得这些属性

    磁盘头中的文件结构与目录结构是分开的。事实上,通常可以创建一个根本不在目录中的文件。或者,您可以将单个文件放在多个目录中

    如果您的磁盘被损坏,必须恢复,通常通过查看磁盘头来完成。您恢复了文件,但丢失了目录结构

    另外,哪个部分完成了从文件名到磁盘上物理地址的转换?是磁盘驱动程序还是磁盘控制器,还是由带内存的处理器完成

    磁盘上的逻辑位置在磁盘头的文件描述中指定。该信息的格式特定于底层磁盘格式。通常,您有两条路径来访问文件描述:

  • 您可以浏览磁盘维护的文件头列表;或

  • 您可以在目录结构中导航,直到找到所需的文件名以及指向文件说明的链接


  • 谢谢你的回答。现在清楚多了。还有一个问题:是设备控制器做了你最后说的路径搜索工作吗?不是。是操作系统做的。设备控制器只知道磁盘上的块。“给我接198763街区。”