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

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

解答・解説

正解: ウ. L−N+EL-N+E

ページング方式の仮想記憶における ページテーブルの大きさ を求める問題です。

ページテーブル全体の大きさを計算するには、まず ページ数(ページテーブルのエントリ数)を求め、それに 1エントリあたりの大きさ を掛ける必要があります。

  1. ページ数(エントリ数)の計算
    仮想アドレス空間の大きさをページサイズで割ることで、ページ数を求めることができます。
  • 仮想アドレス空間の大きさ: 2L2^L バイト
  • ページサイズ: 2N2^N バイト
  • ページ数 = 2L2N=2L−N\frac{2^L}{2^N} = 2^{L-N}
  1. ページテーブル全体の大きさの計算
    ページ数(エントリ数)に各エントリの大きさを掛けます。
  • ページ数: 2L−N2^{L-N}
  • 各エントリの大きさ: 2E2^E バイト
  • ページテーブルの大きさ = 2L−N×2E=2L−N+E2^{L-N} \times 2^E = 2^{L-N+E} バイト

問題文より、ページテーブルに必要な領域の大きさを 2x2^x バイトとすると、x=L−N+Ex = L-N+E となります。
よって、正解は ウ です。

各選択肢の解説

  • ア: L+N+EL+N+E は、仮想アドレス空間の大きさ、ページサイズ、エントリの大きさをすべて掛け合わせた場合の指数であり、誤りです。
  • イ: L+N−EL+N-E は、ページ数を求める際の割り算と掛け算の関係が正しく処理されておらず、誤りです。
  • ウ: 正解です。x=L−N+Ex = L-N+E となります。
  • エ: L−N−EL-N-E は、エントリの大きさを掛けるべきところで割ってしまっており、誤りです。

Spineチーム