某文件系统空间的最大容量为4TB(1TB=2 40 ),以磁盘块为基本分配单位。磁盘块大小为1KB。文件控制块(FCB)包含一个512B的索引表区。 请回答下列问题:
问答题 假设索引表区仅采用直接索引结构,索引表区存放文件占用的磁盘块号,索引表项中块号最少占多少字节?可支持的单个文件最大长度是多少字节?
【正确答案】正确答案:文件系统中所能容纳的磁盘块总数为4TB/IKB=2 32 。要完全表示所有磁盘块,索引项中的块号最少要占32/8=4B。而索引表区仅采用直接索引结构,故512B的索引表区能容纳512B/4B=128个索引项。每个索引项对应一个磁盘块,所以该系统可支持的单个文件最大长度是128×1KB=128KB。
【答案解析】
问答题 假设索引表区采用如下结构:第0~7字节采用<起始块号,块数>格式表示文件创建时预分配的连续存储空间。其中起始块号占6B,块数占2B,剩余504字节采用直接索引结构,一个索引项占6B,则可支持的单个文件最大长度是多少字节?为了使单个文件的长度达到最大,请指出起始块号和块数分别所占字节数的合理值并说明理由。
【正确答案】正确答案:这里的考查的分配方式不同于我们所熟悉的三种经典分配方式,但是题目中给出了详细的解释。所求的单个文件最大长度一共包含两部分:预分配的连续空间和直接索引区。 连续区块数占2B,共可以表示2 16 个磁盘块,即2 26 B。直接索引区共504B/6B=84个索引项。所以该系统可支持的单个文件最大长度是2 26 B+84KB。 为了使单个文件的长度达到最大,应使连续区的块数字段表示的空间大小尽可能接近系统最大容量4TB。分别设起始块号和块数分别占4B,这样起始块号可以寻址的范围是2 32 个磁盘块,共4TB,即整个系统空间。同样的,块数字段可以表示最多2 32 个磁盘块,共4TB。
【答案解析】