**操作系统课后答案**
第七章 文件管理
1、何谓数据项、记录和文件?
答:数据项:数据项是最低级的数据组织形式,可分为基本数据项和组合数据项。基本数据项是用于描述一个对象某种属性的字符集,是数据组织中可以命名的最小逻辑数据单位,即原子数据,又称为数据元素或字段。组合数据项则由若干个基本数据项构成。
记录:记录是一组相关数据项的集合,用于描述一个对象某方面的属性。
文件:文件是指有创建者所定义的、具有文件名的一组相关信息的集合提。
2、文件系统的模型可分为三层,试说明其每一层所包含的基本内容。P206图
答:1、对象及其属性:文件、目录、硬盘(磁带)存储空间;2、对对象操纵和管理的软件集合:文件管理系统的核心部分;3、文件系统的接口:命令接口、程序接口;
3.与文件系统有关的软件可分为那几个层次?
答:I/O控制层、基本文件系统层、基本I/O管理程序、逻辑文件系统。
4.试说明用户可以对文件施加的主要操作有哪些?
答:创建、删除、读、写、设置文件的读/写位置、打开、关闭。
允许用户直接设置和获得文件的属性:改变已存文件的文件名、改变文件的拥有着、改变对文件的访问权、查询文件的状态。
对目录的操作:创建一个目录、删除一个目录、改变当前目录和工作目录等。实现文件共享的系统调用,以及用于对文件系统进行操作的系统调用等。
5.为什么在大多数OS中都引入了“打开”这一文件系统调用?打开的含义是什么?
答:当用户要求对一个文件实施多次读/写或其他操作时,每次都要从检索目录开始。为了避免多次重复地检索目录,在大多数OS中都引入了“打开”这一文件系统调用。所谓“打开”,是指系统将指名文件的属性(包括该文件在外存上的物理位置),从外存拷贝到内存打开文件表的一个表目中,并将该表目的编号(或称为索引号)返回给用户。换而言之,“打开”就是在用户和指定文件之间建立起一个链接。此后,用户可通过该链接直接得到文件信息,从而避免了再次通过目录检索文件,即当用户再次向系统发出文件操作请求时,系统根据用户提供的索引号可以直接在打开文件中查找到文件信息。
6.何谓文件的逻辑结构?何谓文件的物理结构?
答:文件的逻辑结构:这是从用户观点出发所观察到的文件组织形式,即文件是由一系列的逻辑记录组成的,是用户可以直接处理的数据及其结构,它独立于文件的物理特性,又称为文件组织。
文件的物理结构:又称为存储结构。这是指系统将文件存储在外存上所形成的一种存储组织形式,是用户不能看见的。
7.按文件的组织形式可将文件分为哪几种类型?
答:顺序文件、索引文件、索引顺序文件。
8.如何提高对变长记录顺序文件的检索速度?
答:为变长记录文件建立一张索引表,为主文件中的每个记录在索引表中分别设置一个表项,记录指向记录的指针(即记录在逻辑地址空间的首址)以及记录的长度L,索引表按关键字排序,因此其本身也是一个定长记录的顺序文件,这样就把对变长记录顺序文件的顺序检索转变为对定长记录索引文件的随机检索,从而加快对记录检索的速度,实现直接存取。
9.通过哪两种方式来对固定长记录实现随机访问?
答:隐式寻址方式和显示寻址方式。
10.可以采取什么方法来实现对变长记录文件进行随机检索?
答:为变长记录文件建立一张索引表,索引表中记录每一个变长记录项的地址。因为检索索引表是对定长文件进行检索,就可以实现随机检索。
11.试说明索引顺序文件的几个主要特征。
答:(1)记录是按关键字的顺序组织起来的;
(2)引入了文件索引表,通过该表可以实现对索引顺序文件的随机访问;
(3)增加了溢出文件,用它来记录新增加的、删除的和修改的记录。
12.试说明对索引文件和索引顺序文件的检索方法。
答:对索引文件进行检索时,可以根据用户(程序)提供的关键字利用折半查找法去检索索引表,从中找到相应的表项。再利用该表项中给出的指向记录的指针去访问所需的记录。
对索引顺序文件进行检索时,首先也是利用用户(程序)所提供的关键字以及某种查找算法去检索索引表,找到该记录所在记录组中第一个记录的表项,从中得到该记录组第一个记录在主文件中的位置。然后,再利用顺序查找法去查找主文件,从中找到所要求的记录。
13.试从检索速度和存储费用两方面来比较两级索引文件和索引顺序文件。
答:两级索引文件:存储费用高,检索速度较快。
索引顺序文件:存储费用不高,检索速度快。
14.对目录管理的主要要求是什么?
答:(1)实现“按名存取”;(2)提高对目录的检索速度;(3)文件共享;(4)允许文件重名。
15.采用单级目录能否满足对目录管理的主要要求?为什么?
答:采用单级目录不能完全满足对目录管理的主要要求,只能实现目录管理最基本的功能即按名存取。由于单级目录结构采用的是在系统只配置一张目录表用来记录系统中所有文件的相关信息,因此此目录文件可能会非常大,在查找时速度慢,另外不允许用户文件有重名的现象,再者由于单级目录中要求所有用户须使用相同的名字来共享同一个文件,这样又会产生重名问题,因此不便于实现文件共享
16.目前广泛采用的目录结构形式是哪种?它有什么优点?
答:树形结构目录。明显提高了对目录的检索速度和文件系统的性能。
17.何谓路径名和当前目录?
答:路径名:在树形结构目录中,从根目录到任何数据文件都只有一条唯一的通路。在该路径上,从树的根(即主目录)开始,把全部目录文件名与数据文件名依次地用“/”连接起来,即构成该数据文件唯一的路径名。
当前目录:当一个文件系统有多级时,每访问一个文件,都要使用从树根开始,直到数据文件为止,是相当麻烦的事,可为每个进程设置一个“当前目录“,又称“工作目录“。假设用户B的当前目录是F,则此时文件J的相对路径名仅是J本身。
18、Hash检索法有何优点?又有何局限性?
答:优点:显著提高检索速度。
局限:对于使用了通配符的文件名,此时系统便无法利用Hash法检索目录,还是需要利用线性查找法查找目录。
19.在Hash检索法中,如何解决“冲突”问题?
答:(1)在利用Hash法索引查找目录时,如果目录表中相应的目录项是空的,则表示系统中并无指定文件。
(2)如果目录项中的文件名与指定文件名相匹配,则表示该目录项正是所要寻找的文件所对应的目录项,故而可从中找到该文件所在的物理地址。
(3)如果在目录表的相应目录项中的文件名与指定文件名并不匹配,则表示发生了“冲突”,此时须将其Hash值再加上一个常数(该常数与目录的长度值互质),形成新的索引值,再返回到第一步重新开始寻找。
20、试说明在树形目录结构中线性检索法的检索过程,并给出相应的流程图。
答:P239
21、基于索引结点的文件共享方式有何优点?
答:优点是建立新的共享链接时,不改变文件拥有者关系,仅把索引结点共享计数器加1,系统可获悉了由多少个目录项指向该文件。缺点是拥有者不能删除自己的文件否则会出错。
22、什么是主父目录和链接父目录?如何利用符号链实现共享?
答:利用符号链接实现文件共享的基本思想,是允许一个文件或子目录有多个父目录,但其中仅有一个作为主父目录,其他的几个父目录都是通过符号链接方式与之相链接的(简称链接父目录)。
P243
23.基于符号链的文件共享方式有何优点?
答:在利用符号链方式实现文件共享时,只是文件主才拥有指向其索引结点的指针;而共享该文件的其他用户则只有该文件的路径名,并不拥有指向其索引结点的指针。这样,就不会发生在文件主删除一共享文件后留下一悬空指针的情况。
24.什么是保护域?进程与保护域之间存在着的动态联系是什么?
答:进程对一组对象访问权的集合,进程只能在指定区域内执行操作,域也就规定了进程所能访问的对象和能执行的操作。
进程和域之间,可以是一对多的关系,即一个进程可以联系着多个域。在此情况下,可将进程的运行分为若干个阶段,其每个阶段联系着一个域,这样便可根据运行的实际需要来规定在进程运行的每个阶段中所能访问的对象。
25.试举例说明具有域切换权的访问控制矩阵。
答:P245
26.如何利用拷贝权来扩散某种访问权?
答:P246
27.如何利用拥有权来增、删某种访问权?
答:P247
28.增加控制权的主要目的是什么?试举例说明控制权的应用。
答:用于改变在不同域中运行的进程对同一对象的访问权的。
29.什么是访问控制表?什么是访问权限表?
答:访问控制表是指对访问矩阵按列划分,为每一列建立一张访问控制表ACL。
访问权限表是如果把访问矩阵按行(即域)划分,便可由每一行构成一张访问权限表。这是由一个域对每一个对象可以执行的一组操作所构成的表,表中的每一项权限即为该域对某对象的访问权限。
30.系统如何利用访问控制表和访问权限表来实现对文件的保护?
答:0当进程第一次试图访问一个对象时,必须先检查访问控制表,查看是否有权访问该对象。
如果无则拒绝访问,并构成一个例外异常事件;否则便允许访问,并为之建立访问权限,以便快速验证其访问的合法性。当进程不再访问该对象时便撤销该访问权限。