操作系统例题:某文件系统中,针对每个文件,用户类别分为4类:安全管理员、文件主、文件主的伙伴、其他用户;访问权限分为5种:完全控制、执行、修改、读取、写入。若文件控制块中用二进制位串表示文件权限,为表
題目
某文件系統中,針對每個文件,用戶類別分為4類:安全管理員、文件主、文件主的伙伴、其他用戶;訪問權限分為5種:完全控制、執行、修改、讀取、寫入。若文件控制塊中用二進制位串表示文件權限,為表示不同類別用戶對一個文件的訪問權限,則描述文件權限的位數至少應為______。(2017統考真題)
A. 5
B. 9
C. 12
D. 20
答案
本題答案為:D
分析
可以把用戶訪問權限抽象為一個矩陣,行代表用戶,列代表訪問權限。這個矩陣有 4 行 5 列,1 代表 true,0 代表 false,所以需要 20 位,選 D。
可能有人會問,一共 20 種狀態,2^5 可以表示 32 種狀態,不是 5 位就夠了嗎?
這里我提供幾個思考角度,幫助理解。
我們所說的 5 位,表示的是 32 種狀態,每種狀態只能表示其中 1 類用戶的權限。而題目要求是表示不同類別用戶對一個文件的訪問權限,即 四類用戶的權限都要同時控制。
32 種狀態的確不能共存,但這里問的不是狀態,是共存的。
在本題中,每種用戶擁有的權限都 是獨立的而不是互斥的,比如可能同時有修改和讀取兩種,必須用一位表示一個權限。每個用戶最多可以同時擁有 5 種權限,一共有 4 種用戶,四類用戶的權限都要同時控制,所以最少需要 5×4=20 位。
還不理解的話,可以參考 linux 中是怎么表示文件權限的:
在 linux 系統中,
- 有(用戶user,用戶組group,其他other)三類用戶
- 有(可讀r,可寫w,可執行x)三種權限
所以對于一個文件權限,可以表示為 rwxrw_r__ ,前三個字符表示用戶對該文件可讀可寫可執行,中間三個字符表示用戶組對該文件可讀可寫但不可執行,最后三個字符表示其他對該文件只讀,總共需要 3×3=9 位,這題同理。
總結
以上是生活随笔為你收集整理的操作系统例题:某文件系统中,针对每个文件,用户类别分为4类:安全管理员、文件主、文件主的伙伴、其他用户;访问权限分为5种:完全控制、执行、修改、读取、写入。若文件控制块中用二进制位串表示文件权限,为表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode 263. 丑数(Jav
- 下一篇: 左神算法:判断 t1 树是否包含t2 树