20075101036 07级(1)班
10 在MS-DOS 中有两个文件A 和B ,A 占用 11、12、16和14四个盘块;B 占用 13、18和20三个盘块。
试画出在文件A 和B 中个盘块间的连接情况及FAT 的情况。
解:文件A 和B 中个盘块间的连接情况及FAT 的情况如图所示:
11 NTFS 文件系统对文件采用什么样的物理结构?
答:磁盘组织:NTFS 是簇作为磁盘空间分配和回收的基本单位。
它使用了64位的磁盘地址,理论上可支持2的64次方字节的磁盘分区。
文件组织:以卷为单位,将一个卷中的所有信息、目录信息以及可用的未分配空间信息,都以文件记录的方式记录在一张主控文件表中。
10 11 12 13 14 15 16 17 18 1920
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,并将该盘块分配出去。
30何谓事务?如何保证事物的原子性?
答:事务是用于访问修改各种数据项的一个程序单位。
事务也可以看作是一系列读和写的操作。
事务的原子性是:一个事务在对一批数据执行修改操作时,要
么全部完成,并用修改后的数据去代替原来的数据,要么一个也不修改。
通常借助于事务记录的数据结构来实现事务的原子性。
在一个事务Ti开始执行时,<Ti 开始>记录被写入事务记录表中;在Ti执行期间,在Ti的任何写操作之前,便写一适当的新记录到事务记录表中;当Ti进行托付时,把一个<Ti托付>记录写入事务记录表中。
32 为何引入共享锁?如何用互斥锁或共享锁来实现事务的顺序性?
答:因为利用互斥锁虽然实现顺序性的方法简单易行,但存在效率不高的问题。
因为一个共享文件虽然只允许一个事务去写,但却允许多个事务去读;而在利用互斥锁来锁住文件之后,则允许一个事务去读。
为了提高效率就引入了另一种形式的锁----共享锁。
在对一个对象设置了互斥锁和共享锁的情况下,如果事务Ti要对Q执行操作,则只需去获得对象Q的共享锁。
如果对象Q已被互斥锁锁住,则Ti 必须等待;否则,便可获得共享锁而对Q进行读操作。
如果Ti要对Q进行写操作,则Ti还必须要获得Q的互斥锁。
若失败,需等待;否则,可获得互斥锁而对Q进行写操作。