応用情報技術者 2018年 春期 午前2 問19
問題文
ページング方式の仮想記憶における主記憶の割当てに関する記述のうち、適切なものはどれか。
選択肢
ア:プログラム実行時のページフォールトを契機に、ページをロードするのに必要な主記憶が割り当てられる。(正解)
イ:プログラムで必要なページをロードするための主記憶の空きが存在しない場合には、実行中のプログラムのどれかが終了するまで待たされる。
ウ:プログラムに割り当てられる主記憶容量は一定であり、プログラムの進行によって変動することはない。
エ:プログラムの実行開始時には、プログラムのデータ領域とコード領域のうち、少なくとも全てのコード領域に主記憶が割り当てられる。
ページング方式の仮想記憶における主記憶の割当て【午前2 解説】
要点まとめ
- 結論:ページング方式ではページフォールト発生時に必要なページが主記憶に割り当てられる。
- 根拠:仮想記憶は必要なページだけを主記憶にロードし、効率的なメモリ利用を実現するため。
- 差がつくポイント:ページフォールトの意味と主記憶割当てのタイミングを正確に理解することが重要。
正解の理由
ア: プログラム実行時のページフォールトを契機に、ページをロードするのに必要な主記憶が割り当てられる。
ページング方式の仮想記憶では、プログラムがアクセスしたページが主記憶に存在しない場合にページフォールトが発生し、そのページをディスクから主記憶にロードします。このとき、主記憶の空き領域が割り当てられます。したがって、ページフォールトを契機に主記憶の割当てが行われるのが正しい動作です。
ページング方式の仮想記憶では、プログラムがアクセスしたページが主記憶に存在しない場合にページフォールトが発生し、そのページをディスクから主記憶にロードします。このとき、主記憶の空き領域が割り当てられます。したがって、ページフォールトを契機に主記憶の割当てが行われるのが正しい動作です。
よくある誤解
- プログラム開始時に全ページを主記憶に割り当てると思い込む。
- 主記憶の割当ては固定で変動しないと誤解する。
解法ステップ
- ページング方式の基本動作を理解する(仮想記憶とページ単位の管理)。
- ページフォールトの意味を確認する(必要なページが主記憶にない状態)。
- ページフォールト発生時の処理を思い出す(ディスクからページをロードし主記憶に割当て)。
- 選択肢の記述と照らし合わせて正しいものを選ぶ。
選択肢別の誤答解説
- イ: 主記憶の空きがない場合にプログラム終了まで待つのは誤り。実際はページ置換アルゴリズムで既存ページを入れ替える。
- ウ: 主記憶の割当てはプログラムの進行やページフォールトにより変動するため一定ではない。
- エ: プログラム開始時に全コード領域を主記憶に割り当てる必要はなく、遅延ロードが基本である。
補足コラム
ページング方式は仮想記憶管理の代表的な手法で、プログラムの実行に必要なページだけを主記憶にロードすることでメモリの効率的利用を実現します。ページフォールトはこの仕組みの中核であり、発生時に必要なページをディスクから読み込みます。空きがない場合はページ置換アルゴリズム(例:LRU)が動作し、不要なページを追い出して空きを作ります。
FAQ
Q: ページフォールトが頻発するとどうなる?
A: ページフォールトが多いとディスクアクセスが増え、システムの性能が低下します(スラッシング)。
A: ページフォールトが多いとディスクアクセスが増え、システムの性能が低下します(スラッシング)。
Q: プログラム開始時に全ページを主記憶にロードする方式はある?
A: それは「連続割当て」や「全ページロード」方式で、ページング方式の仮想記憶とは異なります。
A: それは「連続割当て」や「全ページロード」方式で、ページング方式の仮想記憶とは異なります。
関連キーワード: ページング、仮想記憶、ページフォールト、主記憶割当て、ページ置換

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

