操作系统--课堂问答笔记29--习题答案

课堂笔记学习视频来自 操作系统
说明:其他”课堂问答笔记“也在”操作系统“专栏

【6-5、6-6、6-7、6-8】


1、简述目录查询技术

答:对目录进行查询的方式主要是两种:

1)线性检索法

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

 

附:查找/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号索引结点中存放了指定文件的物理地址。目录查询操作到此结束。如果在顺序查找过程中发现有一个文件分量名未能找到,则应停止查找,并返回“文件未找到”信息。

2)Hash方法(视频中未给出

首先建立一张Hash索引文件目录,便可利用Hash方法进行查询,即系统利用用户提供的文件名,并将它变换为文件目录的索引值,再利用该索引值到目录中去查找,这样将显著地提高检索速度。


2、在现代计算机系统中,提供了哪些文件共享手段

答:1)基于索引结点的共享方式(硬链接):

利用索引结点,文件的物理地址及其它的文件属性等信息,不再是放在目录项中,而是放在索引结点中。在文件目录中只设置文件名及指向相应索引结点的指针,在索引结点中还应有一个链接计数count,用于表示链接到本索引结点(亦即文件)上的用户目录项的数目。当count=2时,表示有两个用户目录项链接到本文件上,或者说是有两个用户共享此文件。如下图所示:

 

当用户C创建一个新文件时,它便是该文件的所有者,此时将count置为1。当有用户 B要共享此文件时,在用户B的目录中增加一个目录项,并设置一指针指向该文件的索引结点。此时,文件主仍然是用户C,count=2。如果用户C不再需要此文件,不能将文件直接删除。因为若删除了该文件,也必然删除了该文件的索引结点,这样便会便用户B的指针悬空,而用户B则可能正在此文件上执行写操作,此时用户B会无法访问到文件。因此用户C不能删除此文件,只是将该文件的count减1,然后删除自己目录中的相应目录项。用户B仍可以使用该文件。当count =0时,表示没有用户使用该文件,系统将负责删除该文件。

 

2)利用符号链实现文件共享(软链接):

为使用户B能共享用户A的一个文件F,可以由系统创建一个LINK类型的新文件,也取名为F,并将文件F写入用户B的目录中,以实现用户B的目录与文件F的链接。在新文件中只包含被链接文件F的路径名。这样的链接方法被称为符号链接。

新文件中的路径名则只被看做是符号链,当用户B要访问被链接的文件F且正要读 LINK类新文件时,操作系统根据新文件中的路径名去读该文件,从而实现了用户B对文件 F的共享。

在利用符号链方式实现文件共享时,只有文件的拥有者才拥有指向其索引结点的指针。而共享该文件的其他用户则只有该文件的路径名,并不拥有指向其索引结点的指针。这样,也就不会发生在文件主删除共享文件后留下悬空指针的情况。当文件的拥有者把一个共享文件删除后,其他用户通过符号链去访问它时,会出现访问失败,于是将符号链(也就是共享文件的路径)删除,此时不会产生任何影响。

 


3、简述利用访问矩阵实现文件系统的安全保护

答:利用一个矩阵来描述系统的访问控制,并把该矩阵称为访问矩阵(Access Matrix)。访问矩阵中的行代表域,列代表对象,矩阵中的每一项是由一组访问权组成的。因为对象已由列显式地定义,故可以只写出访问权而不必写出是对哪个对象的访问权,每一项访问权access(i, j)定义了在域Di中执行的进程能对对象Qj所施加的操作集。举例如下:

 

 

 

猜你喜欢

转载自blog.csdn.net/weixin_46218781/article/details/106659749
今日推荐