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

admin2014-07-18  47

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

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

选项

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

解析
转载请注明原文地址:https://jikaoti.com/ti/xRajFFFM
0

最新回复(0)