答:线性检索法又称为顺序检索法。在单级目录中,利用用户提供的文件名,用顺序查找法直接从文件目录中找到指名文件的目录项。在树型目录中,用户提供的文件名是由多个文件分量名组成的路径名,此时须对多级目录进行查找。
(假定用户给定的文件路径名是/usr/ast/mbox,则查找/usr/ast/mbox文件的过程如图6-20 所示。其查找过程说明如下:
首先,系统应先读入第一个文件分量名usr,用它与根目录文件(或当前目录文件)中各目录项中的文件名顺序地进行比较,从中找出匹配者,并得到匹配项的索引结点号6,再从6号索引结点中得知usr目录文件放在132号盘块中,将该盘块内容读入内存。
接着,系统再将路径名中的第二个分量名ast读入,用它与放在132号盘块中的第二级目录文件中各目录项的文件名顺序进行比较,又找到匹配项,从中得到ast的目录文件放在26号索引结点中,再从26号索引结点中得知/usr/ast是存放在496号盘块中,再读入496号盘块。然后,系统又将该文件的第三分量名mbox读入,用它与第三级目录文件/usr/ast中各目录项中的文件名进行比较,最后得到/usr/ast/mbox的索引结点号为60,即在60号索引结点中存放了指定文件的物理地址。目录查询操作到此结束。(2分)如果在顺序查找过程中,发现有一个文件分量名未能找到,则应停止查找,并返回“文件未找到”信息。
(假定用户给定的文件路径名是/usr/ast/mbox,则查找/usr/ast/mbox文件的过程如图6-20 所示。其查找过程说明如下:
首先,系统应先读入第一个文件分量名usr,用它与根目录文件(或当前目录文件)中各目录项中的文件名顺序地进行比较,从中找出匹配者,并得到匹配项的索引结点号6,再从6号索引结点中得知usr目录文件放在132号盘块中,将该盘块内容读入内存。
接着,系统再将路径名中的第二个分量名ast读入,用它与放在132号盘块中的第二级目录文件中各目录项的文件名顺序进行比较,又找到匹配项,从中得到ast的目录文件放在26号索引结点中,再从26号索引结点中得知/usr/ast是存放在496号盘块中,再读入496号盘块。然后,系统又将该文件的第三分量名mbox读入,用它与第三级目录文件/usr/ast中各目录项中的文件名进行比较,最后得到/usr/ast/mbox的索引结点号为60,即在60号索引结点中存放了指定文件的物理地址。目录查询操作到此结束。(2分)如果在顺序查找过程中,发现有一个文件分量名未能找到,则应停止查找,并返回“文件未找到”信息。