メモリの動的割当て・解放に伴う空き領域のガベージコレクション

正解は「ア」です。 ガベージコレクション(Garbage Collection:GC)は、Java や Python、JavaScript などのプログラミング言語の実行環境において、プログラムが動的に確保したヒープ領域のうち、変数やオブジェクトからの参照が失われてアクセスできなくなった「不要なメモリ領域(ゴミ)」を自動的に検出・回収して、再び利用可能な空きメモリプールに戻す仕組みです。プログラマが明示的にメモリ解放(C 言語の free など)を行う必要がなく、メモリリークの防止に大きく寄与します。 メモリコンパクション(デフラグメンテーション)の説明です。散在する空き領域を移動して 1 つの連続領域にまとめます。 スワッピング(Swapping)の説明です。主記憶全体の不足時にプロセス全体をスワップ領域に退避させます。 静的メモリ割当ての説明です。グローバル変数や定数などはコンパイル時に静的データ領域へ割り当てられます。

プログラム実行時のヒープ領域のメモリ管理において,不要になった領域を自動的に解放して再利用可能にするガベージコレクションの説明として,適切なものはどれか。

出典令和2年度 10月 応用情報技術者試験 午前 問16
ア
プログラムから参照されなくなった不要なメモリブロックを検知し,自動的に回収して空きメモリとして再利用できるようにする。
イ
散在する小さな空き領域を集約し,連続した 1 つの大きな利用可能領域を作成する。
ウ
主記憶が不足したときに,実行優先度の低いプロセスのメモリイメージを丸ごと外部記憶装置に退避させる。
エ
プログラムのコンパイル時に変数の生存期間を解析し,メモリの割当て位置を実行前に静的に確定する。