正答2
解説
正解は2です。
プログラム実行時の主記憶管理に関する用語を正しく対応させる問題です。
用語と説明の組合せを入れ替えた選択肢が並んでいるので、一つずつ確かめます。
【選択肢別解説】
1:× 主記憶の空き領域を結合して一つの連続した領域にするのは、コンパクションです。
可変区画方式は、プログラムの大きさに合わせて区画を割り当てる方式です。
2:○ 使われなくなったヒープ領域を回収して再利用可能にするのが、ガーベジコレクションです。
JavaやC#などの実行環境で自動的に行われます。
3:× 実行中にモジュールの格納位置を主記憶内で移動させるのは、動的再配置です。
動的リンキングではありません。
4:× 実行中に必要になった時点でモジュールをロードして結合するのは、動的リンキングです。
動的再配置ではありません。
【ポイント】
動的再配置は「位置を動かす」、動的リンキングは「必要なときに結合する」と覚えます。
可変区画方式では断片化(フラグメンテーション)が起きやすく、それを解消するのがコンパクションです。