目录线性检索法

线性检索法又称为顺序检索法。在单级目录中,利用用户提供的文件名,用顺序查找 法直接从文件目录中找到指名文件的目录项。在树型目录中,用户提供的文件名是由多个 文件分量名组成的路径名,此时须对多级目录进行查找。假定用户给定的文件路径名是 /usr/ast/mbox,则查找/usr/ast/mbox 文件的过程如图 6-20 所示。 

具体查找过程说明如下:

图 6-20

查找/usr/ast/mbox 的步骤

首先,系统应先读入第一个文件分量名 usr,用它与根目录文件(或当前目录文件)中各 目录项中的文件名顺序地进行比较,从中找出匹配者,并得到匹配项的索引结点号 6,再从 6 号索引结点中得知 usr 目录文件放在 132 号盘块中,将该盘块内容读入内存。

接着,系统再将路径名中的第二个文件分量名 ast 读入,用它与放在 132 号盘块中的第二 级目录文件中各目录项的文件名顺序进行比较,又找到匹配项,从中得到 ast 的目录文件放在 26 号索引结点中,再从 26 号索引结点中得知/usr/ast 是存放在 496 号盘块中,再读入 496 号盘块。

然后,系统又将该文件的第三个分量名 mbox 读入,用它与第三级目录文件/usr/ast 中各 目录项中的文件名进行比较,最后得到/usr/ast/mbox 的索引结点号为 60,即在 60 号索引结 点中存放了指定文件的物理地址。目录查询操作到此结束。如果在顺序查找过程中发现有 一个文件分量名未能找到,则应停止查找,并返回“文件未找到”信息。 

猜你喜欢

转载自my.oschina.net/jlongtian/blog/1808727