平成25年度 秋期 午前 問18
ソフトウェア
記憶領域の動的な割当て及び解放を繰り返すことによって,どこからも利用できない記憶領域が発生することがある。このような記憶領域を再び利用可能にする機能はどれか。
- アガーベジコレクション
- イスタック
- ウヒープ
- エフラグメンテーション
答えと解説を見る
✓ これが正解アガーベジコレクション
解説
参照できなくなった領域を回収して再び使えるようにします。
設問は、記憶領域の割当てと解放を繰り返すうちに、どこからも利用できなくなった領域を再び使えるようにする機能を選ばせています。見る軸は二つで、選択肢が指しているのが機能なのか、場所なのか、それとも起きている症状なのかということと、その領域がなぜ使えなくなったのかということです。動的に確保した領域は、その場所を覚えている変数が失われると、解放することも参照することもできなくなります。こうして取り残された領域が溜まっていくと、使える記憶がじわじわ減っていきます。これを自動的に見つけ出し、もう誰からも使われていないと判断して回収し、改めて割り当てられる状態に戻すのがガーベジコレクションです。設問が問うているのは再び利用可能にする機能そのものですから、この語が当てはまります。選択肢に場所の名前と症状の名前と機能の名前が混ざっているときは、設問がどの種類の言葉を求めているかで切ると迷いません。
ほかの選択肢はなぜ違うのか
- イスタック:後入れ先出しで使う記憶領域の名前で、機能ではなく場所を指す言葉です。呼出しの戻り先や局所変数を積む用途に使われ、取り残された領域を片づける働きは持ちません。
- ウヒープ:動的な割当てと解放に使う記憶領域の名前で、こちらも場所を指す言葉です。設問の現象が起きる舞台そのものであり、その舞台を片づける働きとは役割が違います。
- エフラグメンテーション:領域が細切れに分断されて大きな塊が取りにくくなる症状の名前です。分断された領域は使おうと思えば使える点が設問の状況と異なり、詰め直す処理には別の呼び名があります。
出典:平成25年度 秋期 応用情報技術者試験 午前 問18
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)