エンベデッドシステムスペシャリスト試験 令和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に質問できる