第 46 题
某文件系统采用索引节点存放文件的属性和地址信息,簇大小为 4KB。每个文件索引节点占 64B,有 11 个地址项,其中直接地址项 8 个,一级、二级和三级间接地址项各 1 个,每个地址项长度为 4B。请回答下列问题。
(1) 该文件系统能支持的最大文件长度是多少?(给出计算表达式即可)
(2) 文件系统用 1M(1M=220)个簇存放文件索引节点,用 512M 个簇存放文件数据。若一个图像文件的大小为 5600B,则该文件系统最多能存放多少个这样的图像文件?
(3) 若文件 F1 的大小为 6KB,文件 F2 的大小为 40KB,则该文件系统获取 F1 和 F2 最后一个簇的簇号需要的时间是否相同?为什么?
[tag_link]
1)簇大小为 4KB,每个地址项长度为 4B,故每簇有 4KB/4B = 1024 个地址项。最大文件的物理块数可达8+1×1024+1×10242+1×10243,每个物理块(簇)大小为 4KB,故最大文件长度为(8+1×1024+1×10242+1×10243)×4KB=32KB+4MB+4GB+4TB。
2)文件索引节点总个数为 1M×4KB/64B=64M,5600B 的文件占 2 个簇,512M 个簇可存放的文件总个数为 512M/2=256M。可表示的文件总个数受限于文件索引节点总个数,故能存储 64M 个大小为 5600B 的图像文件。
3)文件 F1 的大小为6KB<4KB×8=32KB,故获取文件 F1 的最后一个簇的簇号只需要访问索引节点的直接地址项。文件 F2 的大小为 40KB,4KB×8<40KB<4KB×8+4KB×1024,故获取 F2 的最后一个簇的簇号还需要读一级索引表。综上,需要的时间不相同。