基本情報技術者 2017年 春期 午前(科目A) 問15
問題文
ページング方式の説明として、適切なものはどれか。
選択肢
ア:仮想記憶空間と実記憶空間をそれぞれ固定長の領域に区切り、対応づけて管理する方式(正解)
イ:主記憶装置の異なった領域で実行できるように、プログラムを再配置する方式
ウ:主記憶装置を、同時に並行して読み書き可能な複数の領域に分ける方式
エ:補助記憶装置に、複数のレコードをまとめて読み書きする方式
🔒 解説は解答すると表示されます
ページング方式【午前解説】
正解の理由
正解は ア です。ページング方式は仮想記憶空間(プロセスの仮想アドレス空間)と実記憶(物理メモリ)を同じサイズの固定長ブロック(ページ/フレーム)に分割し、ページテーブルで対応づけて管理します。これによりプログラムは連続した物理領域を必要とせず、外部断片化を軽減できます。説明文はまさにページングの定義を述べているため正解です。
解法ステップ
- 問題文のキーワードを確認:「仮想記憶」「実記憶」「固定長の領域」「対応づけ」などページング固有語を探す。
- 選択肢と用語を照合:固定長ブロックの「対応づけ」が書かれている選択肢を選ぶ。
- 他選択肢の用語を確認して除外:「再配置」「並行読み書き」「まとめて読み書き」はページングの定義に一致しないため除外。
- 正解を確定:固定長かつ対応づけを明示する選択肢がページングの定義と一致するため選択。
選択肢別の誤答解説
- ア: 正解。仮想ページと物理フレームを固定長で対応付ける方式の説明に合致します。
- イ: 誤り。プログラムの再配置(リロケーション)はアドレス書き換えや実行時ローダの機能を指し、ページングの説明ではありません。
- ウ: 誤り。主記憶を同時に並行で読み書き可能な複数領域に分けるという記述はメモリのアクセス並列化やバンク化の話で、ページングとは無関係です。
- エ: 誤り。補助記憶へ複数レコードをまとめて入出力するのはバッファリングやブロックI/O(入出力効率化)に関する説明で、ページングの定義とは異なります。
よくある誤解
- 「再配置」と混同する: 再配置(relocation)は実行時にプログラムのアドレスを変更する処理で、ページングの本質ではありません。
- 「並行読み書きの分割」と混同する: 主記憶を複数チャネルで分ける説明はメモリのハードウェア構成かチャネル設計であり、ページングとは別です。
- 「複数レコードをまとめて」=バッファリングと誤解する: 補助記憶のブロック入出力はI/O最適化で、ページングの定義とは異なります。
補足コラム
ページングでは一般にページサイズ(例 )が固定され、仮想アドレスは「ページ番号 + オフセット」に分割されます。ページフォールト時にOSがページをディスクから読み込む(スワップ)ことで実行を継続します。メリットは外部断片化の解消とメモリ管理の単純化、デメリットは内部断片化とページテーブルの管理コスト(メモリ消費)です。TLB(Translation Lookaside Buffer)はページテーブル参照の高速化に重要な役割を果たします。
FAQ
Q1: ページングとセグメンテーションの違いは何ですか?
A1: ページングは固定長ブロックで分割・対応づけを行い、セグメンテーションはプログラム単位(機能ごと)で可変長に分割する点が主な違いです。
A1: ページングは固定長ブロックで分割・対応づけを行い、セグメンテーションはプログラム単位(機能ごと)で可変長に分割する点が主な違いです。
Q2: ページングで外部断片化はなくなるのですか?
A2: はい。固定長フレームにより物理メモリの外部断片化は基本的に解消されますが、内部断片化は発生する可能性があります。
A2: はい。固定長フレームにより物理メモリの外部断片化は基本的に解消されますが、内部断片化は発生する可能性があります。
Q3: ページテーブルが大きくなった場合の対処法は?
A3: 階層ページテーブル、逆ページテーブル、TLBの活用などが一般的な対策です。
A3: 階層ページテーブル、逆ページテーブル、TLBの活用などが一般的な対策です。
関連キーワード: ページング、仮想記憶、ページテーブル、ページフォールト、内部断片化、TLB、メモリ管理、スワップ、セグメンテーション、ページサイズ

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

