基本情報

基本情報 平成27年度 春期 問44|テクノロジ系に関する問題

問題

基本情報 | 平成27年度 春期 | 分野:テクノロジ系

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

キーボード:1〜4で選択・Enterで次へ

タップするとすぐ答え合わせ

答え合わせ

正解は B
  • A
  • B
  • C
  • D

自信の3択

えらぶと、この端末に記録します(登録はいりません)

解説

答えは b「4を設定すると,実行だけができる」 です。

権限は3つのスイッチ(読取り・書込み・実行)で、それぞれ1ビット。どのビットがどの権限かは、試行結果から読み取ります。

  • ② 3(2進数 011)で「読取りと書込みはできたが、実行はできない」→ 下の2ビット(1と2)が読取りと書込み
  • ③ 7(111)で全部できる → 残りの4のビットが実行

だから 4(100)を設定すると、実行だけができます。

👉 覚え方:設定値を2進数に直して、試行結果からビットの意味を当てはめる。

ほかの選択肢:a 2 は読取りか書込みのどちらか1つだけ/c 5(4+1)は実行と、読取りか書込みの1つ/d 6(4+2)も実行を含むので、読取りと書込みだけにはならない。

なぜこれが正解か

正解は b。3種類の権限にそれぞれ1ビットを割り当て,3ビットを8進数1桁(0~7)で表す。どのビットがどの権限かは〔試行結果〕から決まる。

  • ① 0(000):全て不可 → ビットが1のときに許可
  • ② 3(011):読取りと書込みが可,実行が不可 → 1の位と2の位のビットが読取りと書込み(どちらがどちらかは決まらない)
  • ③ 7(111):全て可 → 残る4の位のビットが実行

したがって 4(100)を設定すると,実行だけが許可される。

各選択肢の解説

  • a 2(010):読取りか書込みのどちらか一方だけが許可される。実行は含まれないので「読取りと実行」は誤り。
  • b 4(100):実行だけが許可される(正解)。
  • c 5(101):実行と,読取りか書込みの一方が許可される。「書込みだけ」は誤り。
  • d 6(110):実行と,読取りか書込みの一方が許可される。「読取りと書込み」は誤り。

覚え方・ひっかけ注意

UNIXの chmod の「読4・書2・実行1」を丸暗記して当てはめると,本問では誤る。本問はビットの割当てを試行結果から推論させる問題で,3=読取り+書込み,7=全部 から「実行=4」が決まる。設定値を2進数に直し,ビットごとに意味を対応付けるのが確実。

理論的背景

アクセス権限のように独立した複数のON/OFFを1つの数値で表す方法をビットフラグ(ビットマスク)という。各権限に2のべき乗(1・2・4)を割り当てると,組合せは和(論理和)で一意に表せ,3ビットなら8進数1桁(0~7)に収まる。ある権限が含まれるかは,設定値とその権限のビットの論理積(AND)が0でないかで判定できる。本問は,この割当てが仕様として示されず,観測結果から逆算させる点に特徴がある。試行②の 3(011)と試行③の 7(111)の差は 4(100)であり,その差が「実行」に対応することから,実行=4 が確定する。一方,読取りと書込みが 1 と 2 のどちらかは試行結果からは決まらないため,選択肢の正誤判定も「読取り・書込みのどちらか一方」という形で考えればよい。

実務での使われ方

UNIX系OSのファイルパーミッションでは r=4,w=2,x=1 と定められ,所有者・グループ・その他の3クラス分を8進3桁(例:755)で表す。さらに SUID(4000)・SGID(2000)・スティッキービット(1000)を上位桁に持つ。Windowsのアクセスマスク,ネットワーク機器の設定フラグ,プログラミング言語の列挙型フラグ(C の #define で 1<<n を定義する等)など,ビットフラグは広く使われている。割当ては製品や仕様ごとに異なるので,必ず仕様書で確認することが実務の基本。

試験での位置づけ

基本情報では,2進数・8進数の変換,ビット演算(AND・OR・XOR)によるマスク処理,アクセス権限の表現が繰り返し出題される。本問のように「試行結果から規則を見つける」形式は,暗記ではなく推論を問う良問で,ビット単位で表を作れば確実に解ける。

選択肢の発展補足

各選択肢の設定値を2進数に直すと,a 2=010,b 4=100,c 5=101,d 6=110。実行ビット(100)を含むのは b・c・d で,そのうち実行ビットだけなのは b のみ。c・d は実行に加えて読取りか書込みの一方を含むため,選択肢の記述(書込みだけ,読取りと書込み)とは合わない。UNIXの r4/w2/x1 を当てはめると d が正しく見えるため,暗記に頼った受験者を誤らせる構成になっている。

この問題の根拠出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成27年度 春期 問44
訂正の記録この問題の訂正はありません(サイト全体の記録)
出典と作り方

出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成27年度 春期 問44/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビ独自の3段階の解説(初級・標準・上級)です。