修了試験 2012-07-22実施分 基本情報技術者試験 問24
メモリリークに関する記述として,適切なものはどれか。
正答1
解説
正解は1です。 メモリリーク(memory leak)は、プログラムが動作中に確保した主記憶領域を、不要になっても解放しない現象です。 OSやアプリケーションのバグが原因で起き、使える主記憶が少しずつ減っていきます。 長時間動かすと、動作が遅くなったり停止したりする原因になります。 【選択肢別解説】 1:○ バグなどで、確保した主記憶が解放されずに残る現象の説明です。 利用できる主記憶が減少していく点も、メモリリークの特徴どおりです。 2:× 主記憶が不足してページングが頻発し、処理時間のほとんどがページングに費やされる現象は、スラッシングの説明です。 メモリリークが原因になることはありますが、現象としては別のものです。 3:× 必要になったモジュールだけを主記憶に取り込む手法は、オーバレイの説明です。 プログラム領域の制限に対応する技法であり、メモリリークではありません。 4:× 空き領域の総量は足りているのに、不連続に散らばって大きな領域を確保できない状態は、フラグメンテーション(断片化)の説明です。 解放されない領域が増えるメモリリークとは異なります。 【ポイント】 メモリリークは「解放忘れ」、フラグメンテーションは「空きの断片化」、スラッシングは「ページングの多発」と区別します。 断片化の解消には、空き領域を1か所にまとめるガーベジコレクションやコンパクションが使われます。まとめて解く
修了試験 2012-07-22実施分を通しで解く(80問)→