Skip to content

2020年 408 操作系统 第 31 题

操作系统2020年选择题2分

题目

某文件系统的目录项由文件名和索引结点号构成。若每个目录项长度为 64 字节,其中 4 字节存放索引结点号,60 字节存放文件名。文件名由小写英文字母构成,则该文件系统能创建的文件数量的上限为( )。

错因

A

把"小写英文字母"误当成了"26 个字符的字母表 → 一个 26 位编码空间"。但字母表大小(26)应该出现在指数底数那一侧、文件名长度(60)才在指数上,而且光看文件名空间根本不抓核心:文件数的真正上限是另一头——索引节点号字段只能编多少个。

C

把指数和底数挪错位置了。文件名 60 字节就被当成" 种可能",混了"60 字节"和"60 位"两个量纲。而且即便文件名空间再大,每个文件还是要分配一个唯一的索引节点号,4 字节的字段最多编 个,文件名字段再宽也突破不了这个瓶颈。

D

直接把目录项总长 64 字节当成了 64 位指数。和 C 是同类错误——"字节"和"位"没分清。目录项总共 64 字节 = 512 位,远不到 个目录项的容量;且无论目录项空间多大,文件数仍受索引节点号字段(4 字节)限制。

总解析

文件系统能创建多少文件,由两个独立约束的较小者决定:

约束容量
① 文件名空间(60 字节,仅小写字母 a-z)
② 索引节点号字段(4 字节 = 32 位)

,瓶颈显然在 ②——索引节点号。每个文件必须有一个唯一的索引节点号来定位它的元数据,4 字节字段最多容纳 个不同的编号,所以文件数量上限就是

文件名再长再花哨也突破不了这个天花板:100 万种合法的文件名背后,最多也只能挂 个真实文件。

注意单位换算:4 字节 = 32 ;这里小写字母不是""也不是""——选项里没这个,干扰项故意把"字节"和"位"搞混诱你算错。

最终答案是 B

最后更新:

⚠️ 这道题暂未配可视化,欢迎在 CodeBrick 反馈区告诉我们你想看哪道题