主观题:h664.某文件系统以硬盘作为存储器,盘块大小为512B,有文件A,包含590个逻辑记录,每个记录占255B,每个盘块存放2个记
某文件系统以硬盘作为存储器,盘块大小为512B,有文件A,包含590个逻辑记录,每个记录占255B,每个盘块存放2个记录。文件A在文件目录中的位置如图6-4所示。
图6-4

此树形目录结构由根目录结点,作为目录文件的中间结点和作为信息文件的叶子结点组成,每个目录项占127B,每个物理块存放4个目录项。根目录的内容常驻内存。问:
(1) 若文件采用隐式链接结构,设每块的链接字占2B。如果要将文件A读入内存,至少要存取几次硬盘?为什么?
(2) 若文件采用连续文件结构,如果要将文件A的逻辑记录号为480的记录读入内存,至少要存取几次硬盘?为什么?
答案:解:
(1) 因根目录内容常驻内存,故不需读盘即可知道目录文件usr的地址,第一次由usr的地址读一个盘块,因一个盘块存放4个目录项,故第一次读盘即可以得到you的地址,第二次读盘可以得到dir1的地址,第三次读盘可以得到文件A的地址。由于每个盘块可存放2个记录,而文件A包含590个记录,故要把文件A读入内存,所需读盘次数为590/2=295次。所以,为把文件A读入内存,需读盘次数为295+3=298次。(5分)
(2) 当文件为连续结构时,第一次读盘得到you的地址,第二次读盘可以得到dir1的地址,第三次读盘可以得到文件A的地址。得到文件A的地址后,通过计算,只需1次读盘就可读出第480号记录。即一共需要读盘4次,就能将文件A的逻辑记录号为480的记录读入内存。(5分)
图6-4

此树形目录结构由根目录结点,作为目录文件的中间结点和作为信息文件的叶子结点组成,每个目录项占127B,每个物理块存放4个目录项。根目录的内容常驻内存。问:
(1) 若文件采用隐式链接结构,设每块的链接字占2B。如果要将文件A读入内存,至少要存取几次硬盘?为什么?
(2) 若文件采用连续文件结构,如果要将文件A的逻辑记录号为480的记录读入内存,至少要存取几次硬盘?为什么?
答案:解:
(1) 因根目录内容常驻内存,故不需读盘即可知道目录文件usr的地址,第一次由usr的地址读一个盘块,因一个盘块存放4个目录项,故第一次读盘即可以得到you的地址,第二次读盘可以得到dir1的地址,第三次读盘可以得到文件A的地址。由于每个盘块可存放2个记录,而文件A包含590个记录,故要把文件A读入内存,所需读盘次数为590/2=295次。所以,为把文件A读入内存,需读盘次数为295+3=298次。(5分)
(2) 当文件为连续结构时,第一次读盘得到you的地址,第二次读盘可以得到dir1的地址,第三次读盘可以得到文件A的地址。得到文件A的地址后,通过计算,只需1次读盘就可读出第480号记录。即一共需要读盘4次,就能将文件A的逻辑记录号为480的记录读入内存。(5分)