🏷️ 知识点:文件分配表
下列选项中,可被文件系统用于外存空间使用情况的是( )。
A. 目录 B. 系统打开文件表 C. 文件分配表(FAT) D. 文件控制块(FCB)
[tag_link]
正确答案:C
文件分配表(FAT)是文件系统用来记录磁盘块(簇)使用情况的数据结构。它记录了哪些磁盘块是空闲的,哪些已经被文件占用,因此文件系统可以通过 FAT 来管理空闲空间。
- A. 目录用于存储文件和子目录的元数据(如文件名、位置等),但不直接管理空闲空间。
- B. 系统打开文件表:用于记录当前打开的文件及其状态,与空闲空间管理无关。
- D. 文件控制块(FCB):FCB 记录单个文件的元数据(如大小、位置等),不直接记录整个外存空间使用情况。
[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 分)
[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 分)