修了試験 2017-06-11実施分 基本情報技術者試験 問16
記憶領域の動的な割当て及び解放を繰り返すことによって,どこからも利用できない記憶領域が発生することがある。 このような記憶領域を再び利用可能にする機能はどれか。
正答1
解説
正解は1です。 プログラムが記憶領域を動的に確保・解放していると、参照が失われて誰も使えないのに解放されない領域(ごみ)が生じることがあります。 このような領域を回収して再利用可能にする機能の名称が問われています。 【選択肢別解説】 1:○ ガーベジコレクションは、どこからも参照されていない領域を自動的に見つけて解放し、再び使えるようにする機能です。 Javaなどで採用されています。 2:× スタックは、後から入れたものを先に取り出すデータ構造や、関数呼出しに使う記憶領域のことです。 不要領域を回収する機能ではありません。 3:× ヒープは、動的な割当てに使われる記憶領域そのものです。 ごみが発生する場所であり、回収する機能ではありません。 4:× フラグメンテーションは、空き領域が細切れになって使いにくくなる現象のことです。 回収する機能ではありません。 【ポイント】 細切れになった空き領域をまとめ直す操作はコンパクションと呼びます。 「参照されない領域の回収」がガーベジコレクション、「断片化の解消」がコンパクションと区別します。まとめて解く
修了試験 2017-06-11実施分を通しで解く(80問)→