有一个文件系统如图7—2所示。其中的方框表示目录,椭圆圈表示普通文件。根目录常驻内存,目录文件组织成链接文件,不设文件控制块,普通文件组织成索引文件。目录表目指示下一级文件名及其磁盘地址(各占2B,共4B)。若下级文件是目录文件,指示其第一个磁盘块地址。若下级文件是普通文件,指示其文件控制块的磁盘地址。每个目录文件磁盘块最后4B供链接地址使用。下级文件在上级目录文件中的次序在图7—2中为左至右。每个磁盘块有512B,与普通文件的一页等长。
问答题 a.dat文件的绝对路径名和相对路径名。
【正确答案】正确答案:S的绝对路径名为/users/admin/download/a.dat,S的相对路径名为/download/a.dat。
【答案解析】
问答题 若要读取顺序文件a.dat中的某一页,最少启动磁盘多少次,最多启动磁盘多少次?
【正确答案】正确答案:因为当前目录为/users/admin。该目录中有目录download的磁盘地址,将其读入内存(已访问磁盘一次)。然后从目录download中找出文件a.dat的文件控制块地址并将文件控制块读入内存(已访问磁盘两次)。 在最好情况下,要访问的页在文件控制块的前10个直接块中,按照直接块指示的地址读文件a.dat的相应页(已访问磁盘3次)。所以在最好的情况下,只需启动磁盘3次。 在最坏情况下,要访问的页存放在三级索引下,这时候需要一级一级地读三级索引块才能得到目标页的地址(已访问磁盘5次),最后读入目标页(已访问磁盘6次)。所以在最坏情况下,需启动磁盘6次。
【答案解析】
问答题 如果已知顺序文件a.dat的大小。试问如果要读取该文件的最后一个记录,是否能预估出启动磁盘的次数?若能,请详述过程。
【正确答案】正确答案:能。因为给出了a.dat文件的大小,且要访问的位置也给出(文件末尾,也就是文件的最后一页)。通过文件大小,可以算出文件最后一页的地址是在直接块中,还是在第i级索引块中。若在直接块中,访问次数就是最好情况下的3次。若在第i级索引块中,访问次数就是3+i次。
【答案解析】