令和7年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問7
テクノロジ/ソフトウェアページング方式の仮想記憶において,あるプロセスが仮想アドレス空間全体に対応したページテーブルをもつ場合,ページテーブルに必要な領域の大きさを 2ˣ バイトで表すとすると,x を表す式はどれか。ここで,仮想アドレス空間の大きさは 2ᴸ バイト,ページサイズは 2ᴺ バイト,ページテーブルの各エントリの大きさは 2ᴱ バイトとし,その他の情報については考慮しないものとする。
出典:令和7年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問7
- アL+N+E
- イL+N-E
- ウL-N+E
- エL-N-E
正解:ウ
解説
仮想アドレス空間全体をカバーするページテーブルのエントリ数は,仮想アドレス空間の大きさ 2ᴸ をページサイズ 2ᴺ で割った 2^(L-N) 個になります。各エントリの大きさが 2ᴱ バイトなので,ページテーブル全体の大きさは 2^(L-N) × 2ᴱ=2^(L-N+E) バイトとなり,x=L-N+E です。
選択肢ごとの解説
- ア誤り。ページサイズ N を掛けるのではなく,エントリ数はページサイズで割って求める必要があります。
- イ誤り。ページサイズで割る操作を N の加算にしてしまっており,さらにエントリの大きさ E を減算しているため,符号も誤っています。
- ウ正しい。エントリ数 2^(L-N) にエントリの大きさ 2ᴱ を掛けた 2^(L-N+E) バイトがページテーブルに必要な大きさです。
- エ誤り。エントリ数 2^(L-N) を求める部分は正しいですが,エントリの大きさ E を掛けるのではなく引いてしまっています。