[tag_link]
某磁盘文件系统使用链接分配方式组织文件,簇大小为 4KB。目录文件的每个目录项包括文件名和文件的第一个簇号,其他簇号存放在文件分配表 FAT 中。
(1) 假定目录树如下图所示,各文件占用的簇号及顺序如下表所示,其中 dir、dir1 是目录,file1、file2 是用户文件。请给出所有目录文件的内容。
(2) 若 FAT 的每个表项仅存放簇号,占 2 个字节,则 FAT 的最大长度为多少字节?该文件系统支持的文件长度最大是多少?
(3) 系统通过目录文件和 FAT 实现对文件的按名存取,说明 file1 的 106、108 两个簇号分别存放在 FAT 的哪个表项中。
(4) 假设仅 FAT 和 dir 目录文件已读入内存,若需将文件 dir/dir1/file1 的第 5000 个字节读入内存,则要访问哪几个簇?
1)两个目录文件 dir 和 dirl 的内容如下表所示。(3 分) 【评分说明】每个目录项的内容正确给 1 分,共 3 分。
2)由于 FAT 的簇号为 2 个字节,即 16 比特,因此在 FAT 表中最多允许 2¹⁶(65536)个表项,一个 FAT 文件最多包含 2¹⁶(65536)个簇。FAT 的最大长度为 2¹⁶×2B=128KB。(1 分)文件的最大长度是 2¹⁶×4B=256MB。(1 分) 【评分说明】若考生考虑到文件结束标志、坏块标志等,且答案正确,同样给分。
3)在 FAT 的每个表项中存放下一个簇号。file1 的簇号 106 存放在 FAT 的 100 号表项中,(1 分)簇号 108 存放在 FAT 的 106 号表项中。(1 分)
4)先在 dir 目录文件里找到 dir1 的簇号,然后读取 48 号簇,得到 dir1 目录文件,接着找到 file1 的第一个簇号,据此在 FAT 里查找 file1 的第 5000 个字节所在的簇号,最后访问磁盘中的该簇。因此,需要访问目录文件 dir1 所在的 48 号簇,(1 分)及文件 file1 的 106 号簇。(1 分)