408 真题做题本·操作系统部分
第 4 章 文件管理
4.1 文件
- 【2009】文件系统中, 文件访问控制信息存储的合理位置是( )。
A. 文件控制块
B. 文件分配表
C. 用户口令表
D. 系统注册表
答案: A
解析: 文件访问控制信息属于文件的管理属性,通常记录在文件控制块(FCB)或索引结点中。文件分配表主要记录磁盘块之间的链接关系;用户口令表用于身份认证;系统注册表也不是文件访问权限的存放位置。
- 【2009】下列文件物理结构中, 适合随机访问且易于文件扩展的是( )。
A. 连续结构
B. 索引结构
C. 链式结构且磁盘块定长
D. 链式结构且磁盘块变长
答案: B
解析: 索引结构通过索引表保存文件逻辑块号到物理块号的映射,既可按逻辑块号直接定位,适合随机访问,又可通过增加索引项扩展文件。连续结构随机访问快但扩展困难;链式结构易扩展但不适合高效随机访问。
- 【2010】设文件索引节点中有 7 个地址项, 其中 4 个地址项是直接地址索引,2 个地址项是一级间接地址索引, 1 个地址项是二级间接地址索引,每个地址项大小为 4B。若磁盘索引块和磁盘数据块大小均为 256B, 则可表示的单个文件最大长度是( )。
A. 33KB
B. 519KB
C. 1057KB
D. 16513KB
答案: C
解析: 每个地址项占 ,一个 的索引块可存放
个地址。可寻址的数据块总数为
因此最大文件长度为
- 【2012】若一个用户进程通过 read 系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中, 正确的是( )。 I. 若该文件的数据不在内存中,则该进程进入睡眠等待状态 II. 请求 read 系统调用会导致 CPU 从用户态切换到核心态 III. read 系统调用的参数应包含文件的名称
A. 仅 I、 II
B. 仅 I、 III
C. 仅 II、 III
D. I、 II、 III
答案: A
解析: I 正确:若所需文件数据尚未在内存中,进程需等待磁盘 I/O 完成,通常由运行态转为阻塞(睡眠等待)态。II 正确:系统调用通过陷入机制使 CPU 从用户态进入核心态。III 错误:文件已打开后,read 的参数通常包含文件描述符、用户缓冲区地址和读取字节数,而不是文件名。
- 【2013】用户在删除某文件的过程中, 操作系统不可能执行的操作是( )。
A. 删除此文件所在的目录
B. 删除与此文件关联的目录项
C. 删除与此文件对应的文件控制块
D. 释放与此文件关联的内存缓冲区
答案: A
解析: 删除文件时,系统会删除与文件关联的目录项;当硬链接计数降为 0 且文件不再被打开时,还会回收文件控制块和数据块,并可释放相关内存缓冲区。删除文件所在的整个目录不是删除该文件所必需的操作,因此操作系统不可能仅因删除该文件而删除其所在目录。
- 【2013】为支持 CD - ROM 中视频文件的快速随机播放, 播放性能最好的文件数据块组织方式是( )。
A. 连续结构
B. 链式结构
C. 直接索引结构
D. 多级索引结构
答案: A
解析: CD-ROM 中的视频文件通常写入后不再改变。连续结构使文件各数据块在物理位置上连续,随机定位只需由起始块号和块内偏移直接计算,且顺序播放时磁头移动少,因此播放性能最好。
- 【2013】若某文件系统索引结点 (inode) 中有直接地址项和间接地址项, 则下列选项中, 与单个文件长度无关的因素是( )。
A. 索引结点的总数
B. 间接地址索引的级数
C. 地址项的个数
D. 文件块大小
答案: A
解析: 单个文件的最大长度取决于每个索引结点中地址项的个数、间接索引的级数、每个索引块可容纳的地址数以及文件块大小。索引结点总数决定文件系统最多能建立多少个文件,与某一个文件能有多长无关。
- 【2014】在一个文件被用户进程首次打开的过程中, 操作系统需做的是( )。
A. 将文件内容读到内存中
B. 将文件控制块读到内存中
C. 修改文件控制块中的读写权限
D. 将文件的数据缓冲区首指针返回给用户进程
答案: B
解析: 首次打开文件时,操作系统需要按路径查找目录项,并把该文件的文件控制块或索引结点等管理信息调入内存,建立打开文件表项。open 并不会把整个文件内容预先读入内存,也不会修改原有读写权限,更不会把内核数据缓冲区指针直接交给用户进程。
- 【2015】在文件的索引节点中存放直接索引指针 10 个, 一级和二级索引指针各 1 个。磁盘块大小为 1KB, 每个索引指针占 4 个字节。若某文件的索引节点已在内存中, 则把该文件偏移量 (按字节编址) 为 1234 和 307400 处所在的磁盘块读入内存, 需访问的磁盘块个数分别是( )。
A. 1,2
B. 1,3
C. 2,3
D. 2,4
答案: B
解析: 磁盘块大小为 ,每个一级索引块可存放
个块号。
偏移量 位于文件的第
号逻辑块(从 0 开始编号),属于 10 个直接地址项的范围。索引结点已在内存中,因此只需访问目标数据块,共 1 次。
偏移量 位于第
号逻辑块。直接地址覆盖第 块,一级间接地址覆盖第 块,因此第 300 块需通过二级间接索引定位。需依次访问一级索引块、二级索引块和数据块,共 3 次。
- 【2017】某文件系统中, 针对每个文件, 用户类别分为 4 类: 安全管理员、文件主、文件主的伙伴、其他用户;访问权限分为 5 种: 完全控制、执行、修改、读取、写入。若文件控制块中用二进制位串表示文件权限, 为表示不同类别用户对一个文件的访问权限, 则描述文件权限的位数至少应为( )。
A. 5
B. 9
C. 12
D. 20
答案: D
解析: 共有 4 类用户,每类用户都有 5 种相互独立的访问权限。若每一种权限用 1 位表示,则至少需要
位。
- 【2018】下列优化方法中, 可以提高文件访问速度的是( )。 I. 提前读 II. 为文件分配连续的簇 III. 延迟写 IV. 采用磁盘高速缓存
A. 仅 I、 II
B. 仅 II、 III
C. 仅 I、 III、 IV
D. I、 II、 III、 IV
答案: D
解析: 提前读可把预计即将访问的数据预先调入内存;连续簇分配可减少寻道和旋转等待;延迟写可合并写操作并避免不必要的立即写盘;磁盘高速缓存可利用局部性减少实际磁盘访问。因此四种方法都能提高文件访问速度。
- 【2020】若多个进程共享同一个文件 F, 则下列叙述中, 正确的是( )。
A. 各进程只能用“读”方式打开文件 F
B. 在系统打开文件表中仅有一个表项包含 F 的属性
C. 各进程的用户打开文件表中关于 F 的表项内容相同
D. 进程关闭 F 时, 系统删除 F 在系统打开文件表中的表项
答案: B
解析: 多个进程共享同一个已打开文件时,各进程的用户打开文件表项可通过不同的文件描述符指向系统打开文件表中与文件 F 对应的共享表项,该表项保存文件状态、访问属性等信息。各进程并非只能读;用户打开文件表项的文件描述符等内容不必相同;只有最后一个引用关闭后,系统才会删除相应的系统打开文件表项。
- 【2020】下列选项中, 支持文件长度可变、随机访问的磁盘存储空间分配方式是( )。
A. 索引分配
B. 链接分配
C. 连续分配
D. 动态分区分配
答案: A
解析: 索引分配通过索引项定位任意逻辑块,支持随机访问;新增数据块时只需增加索引项,因而支持文件长度动态变化。链接分配虽易扩展,但普通链式结构随机访问效率低;连续分配扩展困难;动态分区分配是内存管理方法。
- 【2020】某文件系统的目录项由文件名和索引结点号构成。若每个目录项长度为 64 字节, 其中 4 字节存放索引结点号, 60 字节存放文件名。文件名由小写英文字母构成, 则该文件系统能创建的文件数量的上限为( )。
A. 226
B. 232
C. 260
D. 264
答案: B
解析: 目录项中的索引结点号占 4 字节,因此最多可表示
个不同的索引结点号。文件名字段能形成的名字数量远大于该值,故文件数量上限由索引结点号字段决定,为 。
- 【2021】若目录 dir 下有文件 file1, 则为删除该文件内核不必完成的工作是( )
A. 删除 file1 的快捷方式
B. 释放 file1 的文件控制块
C. 释放 file1 占用的磁盘空间
D. 删除目录 dir 中与 file1 对应的目录项
答案: A
解析: 删除目录项 dir/file1 时,内核必须删除对应目录项;当该文件已无其他硬链接且不再打开时,还需释放文件控制块和数据块。快捷方式或符号链接是独立文件,删除目标文件不会自动删除已有快捷方式,因此该操作不是内核删除 file1 时必须完成的工作。
- 【2023】若文件 F 仅被进程 P 打开并访问, 则当进程 P 关闭 F 时, 下列操作中, 文件系统需要完成的是( )。
A. 删除目录中文件 F 的目录项
B. 释放 F 的索引节点所占的内存空间
C. 释放 F 的索引节点所占的外存空间
D. 将文件磁盘索引节点中链接计数器减 1
答案: B
解析: 文件 F 仅被进程 P 打开,P 关闭 F 后,其打开引用计数降为 0,文件系统可释放为该文件建立的内存索引结点及打开文件表项。关闭文件并不删除目录项,不回收外存索引结点,也不会改变硬链接计数;链接计数只在创建或删除硬链接时改变。
- 【2024】下列系统调用的实现中, 包含文件按名查找功能的是( )。
A. open( )
B. read( )
C. write( )
D. close( )
答案: A
解析: open() 的参数包含路径名,内核必须从起始目录开始逐级查找目录项,完成按名查找并定位文件的索引结点。read()、write() 和 close() 通常使用已获得的文件描述符,不再执行完整的按名查找。
- 【2011】某文件系统为一级目录结构, 文件的数据一次性写入磁盘, 已写入的文件不可修改, 但可多次创建新文件。请回答如下问题: (1) 在连续、链式、索引三种文件的数据块组织方式中, 哪种更合适? 要求说明理由。为定位文件数据块,需要 FCB 中设计哪些相关描述字段? (2) 为快速找到文件, 对于 FCB, 是集中存储好, 还是与对应的文件数据块连续存储好?要求说明理由。
答案: 见解析
解析: (1)选择连续分配方式更合适。文件数据一次性写入且以后不可修改,文件长度在写入时即可确定,连续分配的外部碎片和扩展困难问题在本题场景中影响较小;同时连续分配支持高效顺序访问和随机访问,定位任意数据块只需简单计算。
FCB 中至少应设置以下相关字段:
- 文件数据区的起始磁盘块号;
- 文件长度,或文件占用的磁盘块数。
若还需精确表示最后一块的有效数据量,可另设文件字节长度字段。
(2)FCB 集中存储更好。一级目录中查找文件时,系统需要顺序或按索引检索各个 FCB。集中存储可使这些管理信息位于相邻磁盘块中,减少寻道次数和磁盘 I/O;若每个 FCB 都与各自的数据块连续存放,则查找不同文件的 FCB 时可能需要在磁盘上频繁移动,检索速度较慢。
- 【2012】某文件系统空间的最大容量为 4TB (), 以磁盘块为基本分配单位。磁盘块大小为 1KB。文件控制块 (FCB) 包含一个 512B 的索引表区。请回答下列问题:
(1) 假设索引表区仅采用直接索引结构, 索引表区存放文件占用的磁盘块号, 索引表项中块号最少占多少字节?可支持的单个文件最大长度是多少字节?
(2) 假设索引表区采用如下结构: 第 0~7 字节采用
〈起始块号, 块数〉格式表示文件创建时预分配的连续存储空间, 其中起始块号占 6B, 块数占 2B, 剩余 504 字节采用直接索引结构, 一个索引项占 6B, 则可支持的单个文件最大长度是多少字节?为了使单个文件的长度达到最大,请指出起始块号和块数分别所占字节数的合理值并说明理由。
答案: 见解析
解析: (1)文件系统最大容量为
磁盘块大小为
磁盘块总数为
因此块号至少需要 32 位,即 4 字节。512B 的索引表区可存放
个直接索引项,故单个文件最大长度为
(2)连续区的“块数”字段占 2B,可表示约 个连续块;剩余 504B 中每个直接索引项占 6B,可存放
个直接索引项。因此单个文件最大长度为
为了使单个文件长度达到磁盘容量允许的最大值,起始块号和块数各占 4B 较合理。原因是磁盘共有 个块,起始块号至少需要 32 位;剩余 32 位用于记录块数,足以表示接近整个磁盘规模的连续区。原方案给起始块号 6B 属于明显浪费,而块数字段仅 2B 会成为文件长度的主要限制。
- 【2014】文件 F 由 200 条记录组成, 记录从 1 开始编号。用户打开文件后, 欲将内存中的一条记录插入文件 F 中, 作为其第 30 条记录。请回答下列问题, 并说明理由。 (1) 若文件系统采用连续分配方式, 每个磁盘块存放一条记录, 文件 F 存储区域前后均有足够的空闲磁盘空间, 则完成上述插入操作最少需要访问多少次磁盘块?F 的文件控制块内容会发生哪些改变? (2) 若文件系统采用链接分配方式, 每个磁盘块存放一条记录和一个链接指针, 则完成上述插入操作需要访问多少次磁盘块? 若每个存储块大小为 1KB, 其中 4 个字节存放链接指针, 则该文件系统支持的文件最大长度是多少?
答案: 见解析
解析: (1)连续分配时,可利用文件起始块之前的空闲块,把原第 1~29 条记录各向前移动一个磁盘块,从而空出原第 29 条记录所在位置,写入新的第 30 条记录。这样移动的记录数最少。
移动每条记录需要读 1 次、写 1 次,共
次磁盘块访问;把内存中的新记录写入磁盘还需 1 次。因此最少访问
次磁盘块。
FCB 中至少有以下变化:
- 起始块号改为原起始块的前一个块;
- 文件长度或文件占用块数由 200 增加到 201;
- 相应的修改时间等属性也应更新。
(2)链接分配时,需要从第 1 块沿指针依次读到第 29 块,共访问 29 个磁盘块。随后需修改第 29 块中的链接指针并写回 1 次,再把新记录及其链接指针写入新分配块 1 次。因此共需
次磁盘块访问。
每个 1KB 磁盘块中有 4B 存放指针,实际可存放的数据量为
4B 块号最多可表示 个磁盘块,故理论上支持的最大文件长度为
- 【2018】某文件系统采用索引节点存放文件的属性和地址信息, 簇大小为 4KB。每个文件索引节点占 64B, 有 11 个地址项, 其中直接地址项 8 个, 一级、二级和三级间接地址项各 1 个, 每个地址项长度为 4B。请回答下列问题: (1) 该文件系统能支持的最大文件长度是多少? (给出计算表达式即可) (2) 文件系统用 1M () 个簇存放文件索引节点, 用 512M 个簇存放文件数据。若一个图像文件的大小为 5600B, 则该文件系统最多能存放多少个这样的图像文件? (3) 若文件 F1 的大小为 6KB, 文件 F2 的大小为 40KB, 则该文件系统获取 F1 和 F2 最后一个簇的簇号需要的时间是否相同? 为什么?
答案: 见解析
解析: (1)簇大小为 4KB,每个地址项为 4B,因此一个间接索引簇可存放
个簇号。最大文件长度为
(2)一个簇可存放的索引结点数为
1M 个簇最多存放
个索引结点,即最多支持 个文件。
每个 5600B 图像文件占用 2 个数据簇,512M 个数据簇从数据空间角度可存放
个文件。比较两项限制,索引结点数量更少,因此最多可存放
个这样的图像文件。
(3)所需时间不同。F1 大小为 6KB,占 2 个簇,最后一个簇号保存在索引结点的直接地址项中;F2 大小为 40KB,占 10 个簇,前 8 个由直接地址项表示,第 9、10 个需通过一级间接地址项定位。因此,在索引结点已读入内存的前提下,获取 F2 最后一个簇号还需额外读取一级间接索引簇,所需时间更长。
4.2 目录
- 【2009】设文件 F1 的当前引用计数值为 1,先建立 F1 的符号链接 (软链接) 文件 F2,再建立 F1 的硬链接文件 F3, 然后删除 F1。此时, F2 和 F3 的引用计数值分别是( )。
A. 0、 1
B. 1、 1
C. 1、 2
D. 2、 1
答案: B
解析: 软链接 F2 是一个独立文件,拥有自己的索引结点,其引用计数为 1;建立软链接不会增加 F1 的硬链接计数。建立硬链接 F3 后,F1 对应索引结点的硬链接计数由 1 增至 2;删除原目录项 F1 后,该计数减为 1。故 F2 的引用计数为 1,F3 所指文件索引结点的引用计数也为 1。
- 【2010】设置当前工作目录的主要目的是( )。
A. 节省外存空间
B. 节省内存空间
C. 加快文件的检索速度
D. 加快文件的读 / 写速度
答案: C
解析: 设置当前工作目录后,访问其子目录或文件可以使用相对路径,无需每次都从根目录开始逐级检索,从而减少目录查找工作并加快文件检索。它不直接节省内外存空间,也不会直接提高文件数据块的读写速度。
- 【2017】若文件 f1 的硬链接为 f 2,两个进程分别打开 f1 和 f 2,获得对应的文件描述符为 fd1 和 fd2, 则下列叙述中, 正确的是( )。 I. f1 和 f 2 的读写指针位置保持相同 II. f1 和 f 2 共享同一个内存索引结点 III. fd1 和 fd2 分别指向各自的用户打开文件表中的一项
A. 仅 III
B. 仅 II、 III
C. 仅 I、 II
D. I、 II 和 III
答案: B
解析: I 错误:虽然 f1 和 f2 是同一文件的硬链接,但两个进程分别执行 open 时通常建立各自的系统打开文件表项,文件偏移量可以独立变化。II 正确:两个目录项具有相同的索引结点号,因此共享同一个内存索引结点。III 正确:fd1、fd2 分别是两个进程各自用户打开文件表中的索引,分别指向各自的表项。
- 【2021】若目录 dir 下有文件 file1, 则为删除该文件内核不必完成的工作是( )。
A. 删除 file1 的快捷方式
B. 释放 file1 的文件控制块
C. 释放 file1 占用的磁盘空间
D. 删除目录 dir 中与 file1 对应的目录项
答案: A
解析: 删除 dir/file1 时必须删除目录 dir 中对应的目录项;若硬链接计数变为 0 且文件未被打开,还要释放文件控制块和数据块。快捷方式或符号链接是独立目录项,内核不会因删除目标文件而自动删除它们。
- 【2016】某磁盘文件系统使用链接分配方式组织文件, 簇大小为 4KB。目录文件的每个目录项包括文件名和文件的第一个簇号, 其他簇号存放在文件分配表 FAT 中。 (1) 假定目录树如上图所示, 各文件占用的簇号及顺序如上表所示, 其中 dir、 dir1 是目录, file1、file2 是用户文件。请给出所有目录文件的内容。
目录树:
dir
└── dir1
├── file1
└── file2
| 文件名 | 簇号 |
|---|---|
| dir | 1 |
| dir1 | 48 |
| file1 | 100、106、108 |
| file2 | 200、201、202 |
(2) 若 FAT 的每个表项仅存放簇号, 占 2 个字节, 则 FAT 的最大长度为多少字节?该文件系统支持的文件长度最大是多少? (3) 系统通过目录文件和 FAT 实现对文件的按名存取, 说明 file1 的 106、 108 两个簇号分别存放在 FAT 的哪个表项中。 (4) 假设仅 FAT 和 dir 目录文件已读入内存, 若需将文件 dir/dir1/file1 的第 5000 个字节读入内存,则要访问哪几个簇?
答案: 见解析
解析: (1)忽略系统可能额外维护的“.”和“..”目录项,题图所示目录文件的主要内容为:
| 目录文件 | 目录项内容 |
|---|---|
dir | <dir1, 48> |
dir1 | <file1, 100>、<file2, 200> |
其中目录项保存文件名及该文件第一个簇号。
(2)FAT 的每个表项占 2B,可表示 个簇号,因此 FAT 的最大长度为
文件最多可链接 个簇,每簇 4KB,故理论最大文件长度为
(3)file1 的簇链为
因此,簇号 106 存放在 FAT 的第 100 号表项中,即 ;簇号 108 存放在 FAT 的第 106 号表项中,即 。
(4)第 5000 个字节位于文件的第 2 个簇中,因为第 1 个簇只能容纳前 4096 个字节。FAT 和 dir 目录文件已在内存中:
- 先访问簇 48,读取
dir1目录文件并找到file1的首簇号 100; - 利用内存中的 FAT 得到下一簇号 106;
- 再访问簇 106,读取包含第 5000 个字节的数据。
因此需要访问簇 48 和簇 106。
- 【2022】某文件系统的磁盘块大小为 4KB, 目录项由文件名和索引结点号构成, 每个索引结点占 256 字节,其中包含直接地址项 10 个,一级、二级和三级间接地址项各 1 个,每个地址项占 4 字节。该文件系统中子目录 stu 的结构如题左图所示, stu 包含子目录 course 和文件 doc, course 子目录包含文件 course1 和 course2。各文件的文件名、索引结点号、占用磁盘块的块号如下图所示。请回答下列问题:

(1) 目录文件 stu 中每个目录项的内容是什么? (2) 文件 doc 占用的磁盘块的块号 x 的值是多少? (3) 若目录文件 course 的内容已在内存, 则打开文件 course1 并将其读入内存, 需要读几个磁盘块? 说明理由。 (4) 若文件 course2 的大小增长到 6MB, 则为了存取 course2 需要使用该文件索引结点的哪几级间接地址项? 说明理由。
答案: 见解析
解析: (1)目录文件 stu 中包含两个目录项:
| 文件名 | 索引结点号 |
|---|---|
course | 2 |
doc | 10 |
(2)图中 doc 与 course1 的索引结点号都为 10,说明二者是同一文件的两个硬链接,共享同一个索引结点及数据块。因此
(3)需要读 2 个磁盘块。目录文件 course 已在内存,可直接得到 course1 的索引结点号 10;随后需读取包含第 10 号索引结点的索引结点表磁盘块,再根据其中的直接地址项读取数据块 30。故共读取 1 个索引结点表块和 1 个数据块。
(4)文件大小增长到 6MB 时,所需数据块数为
10 个直接地址项可表示 10 个数据块。一个一级间接索引块可存放
个块号,直接地址与一级间接地址共可表示
个数据块,小于 1536;再使用二级间接地址即可表示剩余
个数据块。因此需要使用一级和二级间接地址项,不需要三级间接地址项。
4.3 文件系统
- 【2014】现有一个容量为 10GB 的磁盘分区, 磁盘空间以簇 (Cluster) 为单位进行分配, 簇的大小为 4KB, 若采用位图法管理该分区的空闲空间, 即用一位 (bit) 标识一个簇是否被分配, 则存放该位图所需簇的个数为( )。
A. 80
B. 320
C. 80K
D. 320K
答案: A
解析: 磁盘分区中的簇数为
位图中每个簇对应 1 bit,因此位图大小为
每个簇为 4KB,存放位图所需的簇数为
故选 A。
- 【2015】文件系统用位图法表示磁盘空间的分配情况, 位图存于磁盘的 32~127 号块中, 每个盘块占 1024 个字节, 盘块和块内字节均从 0 开始编号。假设要释放的盘块号为 409612, 则位图中要修改的位所在的盘块号和块内字节序号分别是( )。
A. 81,1
B. 81,2
C. 82,1
D. 82,2
答案: C
解析: 位图中的第 409612 位对应第 409612 号盘块。每个位图盘块可保存的位数为
将 409612 除以 8192:
因此,该位位于位图的第 50 个盘块内。位图从磁盘第 32 号块开始存放,所以实际盘块号为
块内第 12 位位于块内字节序号
中。故盘块号为 82,块内字节序号为 1,选 C。
- 【2017】某文件系统的簇和磁盘扇区大小分别为 1KB 和 512B。若一个文件的大小为 1026B, 则系统分配给该文件的磁盘空间大小是( )。
A. 1026B
B. 1536B
C. 1538B
D. 2048B
答案: D
解析: 文件系统以簇为最小空间分配单位,一个簇为 1KB,即 1024B。大小为 1026B 的文件需要的簇数为
因此,系统实际分配的磁盘空间为
磁盘扇区虽然为 512B,但文件空间按簇分配,不能只分配 3 个扇区。故选 D。
- 【2019】下列选项中, 可用于文件系统管理空闲磁盘块的数据结构是( ) I. 位图 II. 索引结点 III. 空闲磁盘块链 IV. 文件分配表 (FAT)
A. 仅 I、 II
B. 仅 I、 III、 IV
C. 仅 I、 III
D. 仅 II、 III、 IV
答案: B
解析:
- I 正确。位图可用一个二进制位表示一个磁盘块是否空闲。
- II 错误。索引结点用于记录文件属性以及文件数据块地址,不是专门管理空闲磁盘块的数据结构。
- III 正确。可把所有空闲磁盘块链接起来形成空闲磁盘块链。
- IV 正确。FAT 的表项可用特定值标识对应簇为空闲,因此也能反映和管理空闲磁盘空间。
因此可用于管理空闲磁盘块的是 I、III、IV,故选 B。
- 【2023】某系统采用页式存储管理, 用位图管理空闲页框。若页大小为 4KB, 物理内存大小为 16GB,则位图所占空间的大小是( )。
A. 128B
B. 128KB
C. 512KB
D. 4MB
答案: C
解析: 物理页框数为
位图用 1 bit 表示一个页框,因此位图大小为
故选 C。
- 【2024】文件系统需占用部分外存空间记录空闲块位置,下列方法中,占用外存空间的大小与当前空闲块数量无关的是( )。
A. 位图法
B. 空闲表法
C. 成组链接法
D. 空闲链表法
答案: A
解析: 位图法为磁盘中的每个物理块固定设置一个二进制位。只要磁盘总块数不变,位图所需的位数就固定,与当前究竟有多少个空闲块无关。
空闲表法需要为各空闲区记录起始块号和长度;空闲链表法需要保存空闲块之间的链接信息;成组链接法也需随空闲块的分组情况保存相应的块号信息。它们占用的记录空间通常会受到当前空闲块数量或空闲区分布的影响。
故选 A。