応用情報技術者 2011年 秋期 午前2 問21
問題文
デマンドページング方式による仮想記憶の説明として、適切なものはどれか。
選択肢
ア:あるページのアクセス時に、連続する後続のページも主記憶に読み込む。
イ:プログラムで次に必要な手続を指定して、当該ページを主記憶に読み込む。
ウ:プログラムと同時に、処理対象のデータ部分も主記憶に読み込む。
エ:ページフォールトが発生したときに、当該ページを主記憶に読み込む。(正解)
デマンドページング方式による仮想記憶の説明【午前2 解説】
要点まとめ
- 結論:デマンドページング方式はページフォールト発生時に必要なページだけを主記憶に読み込む方式です。
- 根拠:アクセスされたページが主記憶にない場合に初めて読み込むため、無駄な読み込みを避け効率的なメモリ利用が可能です。
- 差がつくポイント:連続ページの先読みやプログラム起動時の一括読み込みと異なり、必要なページのみを遅延読み込みする点を正確に理解することが重要です。
正解の理由
選択肢エは「ページフォールトが発生したときに、当該ページを主記憶に読み込む」とあり、デマンドページングの基本動作を正しく表しています。デマンドページングは、プログラム実行中にアクセスされたページが主記憶に存在しない場合(ページフォールト)に、そのページだけをディスクから読み込む方式です。これにより、必要なページだけを効率的に管理でき、メモリの無駄遣いを防ぎます。
よくある誤解
デマンドページングは「連続する複数ページをまとめて読み込む」や「プログラム起動時に全ページを読み込む」方式と混同されやすいですが、実際は必要なページのみを遅延読み込みします。
解法ステップ
- デマンドページングの基本概念を確認する(必要なページだけを読み込む方式)。
- ページフォールトの意味を理解する(アクセスしたページが主記憶にない状態)。
- 選択肢の説明がページフォールト時の動作かどうかを判断する。
- 連続読み込みや事前読み込みの説明はデマンドページングではないと認識する。
- ページフォールト時にページを読み込む選択肢を選ぶ。
選択肢別の誤答解説
- ア: 「連続する後続のページも読み込む」はプリフェッチ方式の説明であり、デマンドページングとは異なります。
- イ: 「プログラムで次に必要な手続きを指定して読み込む」はプログラム制御による読み込みで、デマンドページングの自動的なページフォールト処理とは異なります。
- ウ: 「プログラムと同時に処理対象のデータ部分も読み込む」はロード時にまとめて読み込む方式で、遅延読み込みのデマンドページングではありません。
- エ: 「ページフォールトが発生したときに、当該ページを主記憶に読み込む」が正解です。
補足コラム
デマンドページングは仮想記憶管理の基本技術で、メモリ効率を高めるために広く使われています。ページフォールトが頻発すると性能低下(スラッシング)が起こるため、適切なページ置換アルゴリズムと組み合わせて運用されます。
FAQ
Q: ページフォールトとは何ですか?
A: プログラムがアクセスしたページが主記憶に存在しない状態で、OSがそのページをディスクから読み込む必要があることです。
A: プログラムがアクセスしたページが主記憶に存在しない状態で、OSがそのページをディスクから読み込む必要があることです。
Q: デマンドページングとプリフェッチの違いは?
A: デマンドページングは必要なページのみを遅延読み込みし、プリフェッチは連続する複数ページを先読みする方式です。
A: デマンドページングは必要なページのみを遅延読み込みし、プリフェッチは連続する複数ページを先読みする方式です。
関連キーワード: 仮想記憶、ページフォールト、デマンドページング、ページ置換、メモリ管理

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

