SkillStack
テクノロジ系8 / 25問

エンベデッドシステムスペシャリスト試験 令和2年度 秋期 午前II 問8

ページング方式の仮想記憶において、あるプロセスが仮想アドレス空間全体に対応したページテーブルをもつ場合、ページテーブルに必要な領域の大きさを2ˣバイトで表すとすると、xを表す式はどれか。ここで、仮想アドレス空間の大きさは2ᴸバイト、ページサイズは2ᴺバイト、ページテーブルの各エントリの大きさは2ᴱバイトとし、その他の情報については考慮しないものとする。

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】ウ

ページテーブルには、仮想アドレス空間を構成する各仮想ページに対応するエントリが必要です。仮想アドレス空間は2ᴸバイト、1ページは2ᴺバイトなので、仮想ページ数は次のように求めます。

2ᴸ÷2ᴺ=2ᴸ⁻ᴺ個

各エントリの大きさは2ᴱバイトなので、ページテーブル全体の大きさは、ページ数と1エントリの大きさの積です。

2ᴸ⁻ᴺ×2ᴱ=2ᴸ⁻ᴺ⁺ᴱバイト

したがって、2ˣバイトの指数xはL-N+Eとなり、ウが正解です。

アのL+N+Eは誤りです。ページ数を求めるときにページサイズを掛けた形になっていますが、仮想アドレス空間をページサイズで割る必要があるので、Nは加算ではなく減算します。

イのL+N-Eは誤りです。ページ数の計算でNを加算し、さらにエントリサイズの指数Eを減算しており、両方の演算が逆です。

エのL-N-Eは誤りです。L-Nまではページ数の指数として正しいものの、ページテーブル容量はページ数にエントリサイズを掛けるので、Eは減算ではなく加算します。

【ポイント】 ページテーブル容量は「仮想ページ数×1エントリの大きさ」で求めます。 2のべき乗の除算では指数を引き、乗算では指数を足すという規則を使うと、式を素早く立てられます。

出典:令和2年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問8
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の25問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める