問題プレビューID: 0220efa4

問 44

ファイルの属性情報として,ファイルに対する読取り,書込み,実行の権限を独立に設定できる OS がある。この 3 種類の権限は,それぞれに 1 ビットを使って許可,不許可を設定する。この 3 ビットを 8 進数表現 0 〜 7 の数字で設定するとき,次の試行結果から考えて,適切なものはどれか。

〔試行結果〕 (1) 0 を設定したら,読取り,書込み,実行ができなくなってしまった。 (2) 3 を設定したら,読取りと書込みはできたが,実行ができなかった。 (3) 7 を設定したら,読取り,書込み,実行ができるようになった。

解説

3 つの権限(読取り・書込み・実行)をそれぞれのビット(2進数)に対応させて考えます。

  • (1) 0 = (000)2(000)_2 : 全て不可
  • (2) 3 = (011)2(011)_2 : 読取りと書込みが可、実行は不可
  • (3) 7 = (111)2(111)_2 : 全て可

(2) と (3) を比較すると、値 4 = (100)2(100)_2 のビットが追加されることで「実行」ができるようになっています。したがって、第 2 ビット(重み 4)は「実行」に割り当てられています。 また、3 = (011)2(011)_2 で読取りと書込みができるので、重み 2 と 1 のビットが「読取り」または「書込み」のいずれかです。

各選択肢を検討します:

  • ア: 2 = (010)2(010)_2。重み 4(実行)が含まれていないため、実行はできません。
  • イ: 適切。重み 4 は実行のみを許可します。
  • ウ: 5 = 4+1。実行(4)といずれか(1)が許可されます。「書込みだけ」ではありません。
  • エ: 6 = 4+2。実行(4)といずれか(2)が許可されます。「読取りと書込み」は 3 です。

正解は「イ」です。