-->
当前位置:首页 > 题库 > 正文内容

主观题:h670.在实现文件系统时,为了加快文件目录的检索速度,可利用“文件控制块分解法”。假设目录文件存放在磁盘上,每个盘块512B。

Luz2年前 (2022-11-10)题库562
在实现文件系统时,为了加快文件目录的检索速度,可利用“文件控制块分解法”。假设目录文件存放在磁盘上,每个盘块512B。文件控制块占64B,其中文件名占14B。通常将文件控制块分解成两部分,第1部分占16B(包括14B文件名和2B文件内部号),第2部分占50B(包括文件内部号和文件其它描述信息)。请按下述要求进行分析:
(1) 假设某一文件目录文件共有280个文件控制块,试分别给出采用分解法前和分解法后,查找该文件目录文件的某一个文件控制块的平均访问磁盘次数。
(2) 一般地,若目录文件分解前占用n个盘块,分解后改用m个盘块存放文件名和文件内部号,请给出访问磁盘次数减少的条件。







答案:解:
(1) 采用分解法前:每个盘块存储的文件控制块数为:512/64=8
254个文件控制块占用的盘块数为:280/8=35,即35个盘块
所以,平均访问盘块数为(35+1)/2=18,即平均访问磁盘18次。
采用分解法后:这种情况需要将FCB的第一部分信息集中存放在一起,每个FCB的第一部分占16B,故每个盘块可存放512/16=32个文件的FCB第一部分信息,280个文件需280/32=8.75,即需9个盘块存储。所以文件名查找平均需访问5个盘块。再加上读该文件的目录项的其他信息需读1次盘,所以总共需要访问6次磁盘。 (5分)
(2) 采用分解法前,由于目录文件占n个盘块,故平均访问磁盘次数为(n+1)/2。
采用分解法后,用m个盘块存放文件和文件内部号,故按文件名查找时,平均访问磁盘次数为(m+1)/2。找到匹配的文件控制块后,还需要进行一次磁盘访问才能读出全部的文件控制块信息,所以,其平均访问磁盘次数为(m+1)/2+1。采用分解法访问磁盘次数减少的条件是:(n+1)/2>(m+1)/2+1
即 n>m+2 或 m<n-2 (5分)

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。