答:实现按名存取、提高检索目录的速度、文件共享、允许文件重名。 18.采用单级目录能否满足对目录管理的主要要求?为什么?
答:不能。单级目录在整个文件系统中只建立一张目录表,每个文件占一个目录项,其中含文件名、文件扩展名、文件长度、文件类型、文件物理地址、状态位等其它文件属性。单级只能实现目录管理的基本功能,不能满足查找速度、允许重名和文件共享的要求。 19.目前广泛应用的目录结构有哪些?它有什么优点?
答:现代操作系统都采用多级目录结构。基本特点是查询速度快、层次结构清晰、文件管理和保护易于实现。
20.Hash 检索法有何优点?又有何局限性?
答:Hash检索法是系统把用户提供的文件名变换为文件目录的索引值,再利用该值查找目录,有效提高目录的检索速度,但Hash 检索法局限于非通配符文件名。 21.在Hash检索法中,如何解决“冲突”问题?
答:在Hash法查找目录时,如果目录表中相应目录项为空,表示系统中无指定文件。如果文件名与指定文件名匹配,表示找到了目标文件,也就找到了文件的物理地址。如果目录表中找到的相应文件名不匹配,则发生了冲突,需要Hash转换形成新的索引值,返回第一步重新查找。 22.试说明在树型目录结构中线性检索法的检索过程,并给出相应的流程图。
答:在树型结构的目录中,当有两个或多个用户共享一个子目录或文件时,将共享文件或字母路连接到两个或多个用户目录中,方便找到该文件。此时目录结构不再是树形结构,而是个有向非循环图DGA。
23.有一计算机系统利用图6-33 所示的位示图来管理空闲盘块。盘块的大小为1KB,现要为某文件分配量个盘块,试说明盘块的具体分配过程。
答:分配量个盘块的过程如下:
⑴ 顺序扫描位示图,从中找到第一个值为0的二进制位,得到行号i=3,列号j=3。⑵ 将找到的二进制位转换成对应盘块号。盘块号为:b=(3-1)*16+3=35;⑶ 修改位示图,令map[3,3]=1,并将该盘块分配出去。类似地,可使用相同的方法找到第二个值为0的二进制位,得到行号i=4,列号j=7,其对应的盘块号为55,令map[i,j]=1,并将该盘块分配出去。
24.某操作系统磁盘文件空间共500块,若用字长为32位的位示图管理磁盘空间,试问:(1)位示图需要多少字?
(2)第i字第j位对应的块号是多少? (3)给出申请/归还一块的工作流程。
答:(1)位示图需要的字数计算:INT(500/32)=16 个字。(2)块号b=(i-1)*32+j。(3)申请的过程:顺序扫描位示图、找到空闲块并分配、修改位示图map[i,j]=1。归还的过程:找到回收盘块在位示图中的行和列,修改位示图map[i,j]=0。
26
25.对空闲磁盘空间的管理常采用哪几种分配方式?在UNIX系统中采用何种分配方式? 答:空闲表法、空闲链表法、位示图法、成组链接法。UNIX系统采用的是成组链接法 26.基于索引节点的文件共享方式有何优点?
答:优点是建立新的共享链接时,不改变文件拥有者关系,仅把索引结点共享计数器加1,系统可获悉了由多少个目录项指向该文件。缺点是拥有者不能删除自己的文件,否则会出错。 27.基于符号链的文件共享方式有何优点?
答:能够通过网络链接世界上 任何地方的计算机中的文件。
28.在一级系统容错技术中,包括哪些容错措施?什么是写后读校验?
答:一级系统容错技术包括双份目录、双份文件分配表及写后读校验等容错措施。写后读校验是每次从内存缓冲区向磁盘写入一个数据块后,又立即从磁盘上读出该数据块,并送至另一缓冲区中,再将该缓冲区内容与内存缓冲区中在写后仍保留的数据进行比较。若两者一致,才认为写入成功,继续写下一个盘块。否则重写。若重写后仍不一致,则认为盘块缺陷,便将应写入该盘块的数据,写入到热修复重定向区中。 29.在第二级系统容错技术中,包括哪些容错措施?画图说明之。 答:第二级容错技术包括磁盘镜像和磁盘双工两种容错措施。图示如下:
30.何谓事务?如何保证事务的原子性?
答:事务是用于访问和修改各种数据项的一个程序单位。要保证事务的原子性必须要求一个事务在对一批数据执行修改操作时,要么全部完成,用修改后的数据代替原来数据,要么一个也不改,保持原来数据的一致性。
31.引入检查点的目的是什么?引入检查点后又如何进行恢复处理?
答:引入检查点的目的是使对事务记录表中事务记录的清理工作经常化。恢复处理由恢复例程来实现。首先查找事务记录表,确定在最近检查点以前开始执行的最后的事务Ti。找到Ti后再返回搜索事务记录表,找到第一个检查点记录,从该检查点开始,返回搜索各个事务记录,利用redo和undo 过程对他们进行相应的处理。
32.为何引入共享锁?如何用互斥锁或共享锁来实现事务的顺序性?
答:引入共享锁是为了提高运行效率。在给对象设置了互斥锁和共享锁的情况下,如果事务Ti要对Q执行读操作,只需获得Q的共享锁。如果对象Q已被互斥锁锁住,则Ti必须等待;否则便获得共享锁对Q执行读操作。如果Ti 要对Q 执行写操作,则Ti还要获得Q的互斥锁。若失败则等待;成功则获得互斥锁并对Q执行写操作。 33.当系统中有重复文件时,如何保证他们的一致性?
27
答:可以采用两种方法:一是对所有的重复文件进行同样的修改,二是用新修改的文件替换所有的重复文件。
34.如何检索盘块号的一致性?检查时可能出现哪几种情况?
答:为了保证盘块号的一致性,先将计数器表中的所有表项初始化为0,用N 个空闲盘块号计数器组成的第一组计数器对从空闲盘块表中读出的盘块号计数,用N 个数据盘块号计数器组成的第二组计数器对从文件分配表中读出的已分配给文件使用的盘快号计数。如果两组计数中的对应数据互补则数据一致,反之则发生错误。
检查时可能出现的情况:(1)两组计数器中盘块K 的计数值均为0,应在空闲盘块表中增加盘块号K;(2)空闲盘块号计数器中盘块K 的计数值为2,应删除一个空闲盘块号K;(3)空闲盘块号计数器中盘块号K 的计数值为0,而数据盘块号计数器中盘块号K 的计数值大于1,则错误严重,存在数据丢失等事件,必须立即报告系统加以处理。
28