大部分文件系统以硬盘作为文件存储器。某一个文件系统中,其磁盘物理块的大小为512B,有一个文件,包含了590个逻辑记录,每个记录占255B;其中,为检索方便,采用成组法存储,在每个物理块上只存放2个记录。文件A在该文件目录中的位置如下图所示。 此树形文件

admin2013-07-12  42

问题 大部分文件系统以硬盘作为文件存储器。某一个文件系统中,其磁盘物理块的大小为512B,有一个文件,包含了590个逻辑记录,每个记录占255B;其中,为检索方便,采用成组法存储,在每个物理块上只存放2个记录。文件A在该文件目录中的位置如下图所示。

此树形文件目录结构由根目录结点和作为文件中问的目录结点以及作为信息文件的叶结点组成,每个目录项占127B,每个物理块存放4个目录项。根目录的内容常驻内存。
    (1)若文件采用隐式链接文件结构,设每块的连接字占4B,存放在每个物理块的尾部。如果要将文件A读入内存,至少要读取几次硬盘?为什么?
    (2)若文件采用连续文件结构,如果要将文件A的逻辑记录号为480的记录读入内存,至少要读取几次硬盘?为什么?

选项

答案(1)当文件采用隐式链接文件结构时,首先计算找到文件A的读盘次数。从根目录root起,第一次读硬盘得到bin,dev,home-等的信息和目录mary的盘块地址。第二次读硬盘得到doc:的地址,第三次读硬盘得到文件A的地址,第四次开始读文件A的内容。 再计算把文件A读入内存的次数,所需读盘次数为590÷2=295次。 所以,为把文件A读入内存需读盘次数=295+3=298次。 (2)当文件为连续结构时,第三次就能读硬盘得到文件A的地址,而知道了文件A的地址,通过计算,只需要1次读盘就可读出第480个逻辑记录。即共需要读取4次硬盘,就能将文件A的逻辑记录号为480的记录读入内存。

解析 隐式链接结构文件是将文件存放在外存上的非连续区域中,实质上就是一个链表,前一个物理块的最末端存放的是下一个物理块的指针,文件的结尾是结束标志“-1”。
而连续文件结构将文件存放在外存上的一个连续区域中,这两个存储形式的最大区别是隐式链接文件结构不能随机存取,必须先一次存取前面的记录才能够找到所需的记录。而连续文件结构则可通过计算方式一次存取数据。
    (1)当文件采用隐式链接文件结构时,由题意知:磁盘物理块的大小为512B,每个物理块存放2个记录,而文件A包含590个逻辑记录,每个记录占255B,则要把文件A读入内存,所需读盘次数一590÷2=295次。此外,还需计算找到文件A的读盘次数。由于根
目录在内存,所以从根目录root查起,不需要读硬盘,得到第一级目录bin,dev,home等的磁盘位置,第一次读硬盘将home的目录内容读入,查到mary的盘块地址指针。根据该指针,第二次读硬盘得到mary目录的信息,找到doc:的盘块地址指针,依此,第三次读硬盘得到doe的信息,从中找到文件A的链表的起始指针。以后就读入文件A的内容。所以,把文件A读入内存需读盘次数为=295+3=298次。
    (2)当文件为连续结构时,由于第一次读盘可获取home的信息内容,据此,第二次读硬盘得到。mary的内容,第三次读硬盘得到doc:的内容,从中找到文件A的起始地址,通过计算,第480条逻辑记录在第480÷2=240号磁盘块中,只需要将文件A的起始地址加上240的偏移量,1次读盘就可读出第479和第480号的逻辑记录。即共需要读取4次硬盘,就将文件A的逻辑记录号为480的记录读入内存。
转载请注明原文地址:https://kaotiyun.com/show/6rxi777K
0

最新回复(0)