Appearance
题目
某文件系统的目录项由文件名和索引结点号构成。若每个目录项长度为 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。