Skip to content

2017年 408 操作系统 第 30 题

操作系统2017年选择题2分

题目

某文件系统中,针对每个文件,用户类别分为 4 类:安全管理员、文件主、文件主的伙伴、其他用户;访问权限分为 5 种:完全控制、执行、修改、读取、写入。若文件控制块中用二进制位串表示文件权限,为表示不同类别用户对一个文件的访问权限,则描述文件权限的位数至少应为( )。

错因

A

只算了 5 种权限,漏了用户类别维度——5 种权限只能描述"一类人对该文件的权限",但题问的是"不同类别用户"对该文件的权限,每类用户都要单独 5 位。一类一类乘起来才完整。

B

把"4 类用户 + 5 种权限"误算成 4 + 5 = 9——加错了运算。每类用户都要独立的 5 位(每位代表一种权限是否拥有),4 类就是 4 × 5,不是 4 + 5。加法是把"维度数加"了,乘法才是"维度间组合"。

C

12 = 4 × 3,可能把 5 种权限误算成 3 种(漏了"执行""修改"等)。或者按 (4 类 + 4 类 + 4 类) 凑出 12——总之是数错了某一边。要严格按题面:4 类 × 5 种 = 20。

总解析

编码思路:每位代表"该用户类别对该文件是否拥有某项权限"。

  • 用户类别有 4 类(安全管理员、文件主、文件主伙伴、其他用户)
  • 权限种类有 5 种(完全控制、执行、修改、读取、写入)

每类用户独立编码:每类用 5 位记录"5 种权限分别有没有"。例如安全管理员可能是 11111(全有),其他用户可能是 00100(只有修改)。

总位数

用户类别占位含义
安全管理员5 位(如 111115 种权限分别 0/1
文件主5 位(如 011115 种权限分别 0/1
文件主的伙伴5 位(如 001105 种权限分别 0/1
其他用户5 位(如 000105 种权限分别 0/1
合计20 位

类比 Unix rwxrwxrwx 9 位(3 类用户 × 3 种权限)就是这种思路的简化版。本题扩展到 4 类 × 5 种 = 20 位。

最终答案是 D

最后更新:

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