题9

题目

【2016 统考真题】某磁盘文件系统使用链接分配方式组织文件, 簇大小为 。目录文件的每个目录项包括文件名和文件的第一个簇号, 其他簇号存放在文件分配表 FAT 中。

  1. 假定目录树如下图所示,各文件占用的簇号及顺序如下表所示,其中 dir、dirl 是目录, file1、file2 是用户文件。请给出所有目录文件的内容。
文件名簇号
dir1
dirl48
file1100、106、108
file2200、201、202
2) 若 FAT 的每个表项仅存放簇号,占 $2\;B$ ,则 FAT 的最大长度为多少字节? 该文件系统支持的文件长度最大是多少? 3) 系统通过目录文件和 FAT 实现对文件的按名存取, 说明 file1 的 106,108 两个簇号分别存放在 FAT 的哪个表项中。 4) 假设仅 FAT 和 dir 目录文件已读入内存, 若需将文件 dir/dir1/file1 的第 5000 个字节读入内存, 则要访问哪几个簇? ### 分析 [[刷题/408真题分类/OS真题/第 4 章文件管理/4.2 目录/题5]] ![](https://img.hwenyi.tech/202411091325682.webp) ### 解 1) 两个目录文件 dir 和 dir1 的内容如下表所示。

dir目录文件

文件名簇号
dir148

dir1 目录文件

文件名簇号
file1100
file2200
  1. 由于 FAT 的簇号为 2 个字节,即 16 比特,因此在 FAT 表中最多允许 个表项, 一个 FAT 文件最多包含 (65536)个簇。FAT 的最大长度为 。文件的最大长度是
  2. 在 FAT 的每个表项中存放下一个簇号。filel 的簇号 106 存放在 FAT 的 100 号表项中, 簇号 108 存放在 FAT 的 106 号表项中。
  3. 先在 dir 目录文件里找到 dirl 的簇号, 然后读取 48 号簇, 得到 dirl 目录文件, 接着找到 filel 的第一个簇号, 据此在 FAT 里查找 file1 的第 5000 个字节所在的簇号, 最后访问磁盘中的该簇。因此, 需要访问目录文件 dirl 所在的 48 号簇, 及文件 file1 的 106 号簇。