応用情報技術者 2012年 秋期 午前2 問17
問題文
プログラム実行時の主記憶管理に関する記述として、適切なものはどれか。
選択肢
ア:主記憶の空き領域を結合して一つの連続した領域にすることを、 可変区画方式という。
イ:プログラムが使用しなくなったヒープ領域を回収して再度使用可能にすることをガーベジコレクションという。(正解)
ウ:プログラムの実行中に主記憶内でモジュールの格納位置を移動させることを、動的リンキングという。
エ:プログラムの実行中に必要になった時点でモジュールをロードすることを、動的再配置という。
プログラム実行時の主記憶管理に関する問題【午前2 解説】
要点まとめ
- 結論:プログラムが使わなくなったヒープ領域を回収し再利用するのはガーベジコレクションである。
- 根拠:ガーベジコレクションは不要なメモリ領域を自動的に検出し解放する仕組みで、主にヒープ領域に適用される。
- 差がつくポイント:用語の正確な意味と主記憶管理の方式を理解し、動的リンキングや動的再配置との違いを押さえることが重要。
正解の理由
イは「プログラムが使用しなくなったヒープ領域を回収して再度使用可能にすることをガーベジコレクションという」と正確に説明しています。ガーベジコレクションはメモリ管理の自動化技術で、不要になったメモリを検出し解放することでメモリリークを防ぎます。
よくある誤解
「可変区画方式」は空き領域の結合ではなく、主記憶を可変長の区画に分割する方式です。動的リンキングや動的再配置の意味も混同しやすいので注意が必要です。
解法ステップ
- 各選択肢の用語の意味を正確に理解する。
- 「ガーベジコレクション」がメモリの自動回収技術であることを確認。
- 他の選択肢の用語(可変区画方式、動的リンキング、動的再配置)と比較し誤りを見つける。
- 正しい説明をしている選択肢を選ぶ。
選択肢別の誤答解説
- ア:可変区画方式は主記憶を可変長の区画に分割し割り当てる方式で、空き領域を結合すること自体を指さない。
- イ:正解。ヒープ領域の不要メモリを自動回収するガーベジコレクションの説明として正しい。
- ウ:動的リンキングは実行時にモジュールのリンクを行うことで、格納位置の移動を指さない。
- エ:動的再配置はプログラムの実行中にアドレス変換を行う技術で、モジュールのロードタイミングとは異なる。
補足コラム
ガーベジコレクションはJavaやC#などの高級言語で広く使われており、プログラマがメモリ解放を手動で行う必要を減らします。一方、C言語などでは手動管理が基本です。動的リンキングはライブラリの共有や更新を容易にし、動的再配置はプログラムの柔軟なメモリ配置を可能にします。
FAQ
Q: ガーベジコレクションはどの領域のメモリを対象にしますか?
A: 主にヒープ領域の不要になったメモリを対象に自動回収します。
A: 主にヒープ領域の不要になったメモリを対象に自動回収します。
Q: 動的リンキングと動的再配置は同じ意味ですか?
A: いいえ。動的リンキングは実行時にモジュールのリンクを行うことで、動的再配置は実行中にアドレス変換を行う技術です。
A: いいえ。動的リンキングは実行時にモジュールのリンクを行うことで、動的再配置は実行中にアドレス変換を行う技術です。
関連キーワード: ガーベジコレクション、ヒープ領域、可変区画方式、動的リンキング、動的再配置、主記憶管理

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

