无聊的吧 关注:117贴子:1,709
  • 3回复贴,共1

25、试说明在树型目录结构中线性检索法的检索过程,并画出相应的流

只看楼主收藏回复

答:线性检索法又称为顺序检索法。在单级目录中,利用用户提供的文件名,用顺序查找法直接从文件目录中找到指名文件的目录项。在树型目录中,用户提供的文件名是由多个文件分量名组成的路径名,此时须对多级目录进行查找。
(假定用户给定的文件路径名是/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分)如果在顺序查找过程中,发现有一个文件分量名未能找到,则应停止查找,并返回“文件未找到”信息。



IP属地:浙江1楼2010-01-06 11:56回复
    :假设用户给定的文件路径名为/Level1/Level2/…/Leveln/datafile,则关于树型目录结构采用线性检索法检索该文件的基本过程为:①读入第一个文件分量名Level1,用它与根目录文件(或当前目录文件)中各个目录项的文件名顺序地进行比较,从中找出匹配者,并得到匹配项的索引结点号,再从对应索引结点中获知Level1目录文件所在的盘块号,将相应盘块读入内存。②对于2~n,循环执行以下步骤,以检索各级目录文件:读入第i个文件分量名Leveli,用它与最新调入内存的当前目录文件中各个目录项的文件名顺序地进行比较,从中找出匹配者,并得到匹配项的索引结点号,再从对应索引结点中获知Leveli目录文件所在的盘块号,将相应盘块读入内存。③读入最后一个文件分量名即datafile,用它与第n级目录文件中各个目录项的文件名进行比较,从而得到该文件对应的索引结点号,进而找到该文件物理地址,目录查找操作成功结束。如果在上述查找过程中,发现任何一个文件分量名未能找到,则停止查找并返回“文件未找到”的出错信息。


    IP属地:浙江2楼2010-01-06 11:57
    回复
      呃……图6-20在哪里


      3楼2011-05-24 21:15
      收起回复