あまり試験では問われないかもしれません。優先度は下げてもいいでしょう。
これと似たものに、フラグメンテーションの対策となるメモリコンパクションがあります。情報技術者試験でも、両者を分けていますので、別物と考えてください。
ガーベジコレクション(garbage collection)
garbage=ゴミ
collection=収集
ゴミの収集つまり、どこからも使用されなくなったメモリ領域(garbage)を集めて(collection)、再び利用できるようにします。
ガーベジコレクションに関して過去問(H25秋AP午前問18)では、「記憶領域の動的な割当て及び解放を繰り返すことによって,どこからも利用できない記憶領域が発生することがある。このような記憶領域を再び利用可能にする機能」と述べられています。
また、過去問(H24秋高度午前1問7)では、「プログラム実行時の主記憶管理に関する記述」として,「プログラムが使用しなくなったヒープ領域を回収して再度使用可能にすることを,ガーベジコレクションという」と述べています。
参考ですが、参考ですが、Javaはガーベジコレクションの機能を持っているので、自動でメモリ領域の解放が行われます。
試験には出ないでしょうが、「メモリリーク(Memory leak)」という言葉があります。”秘密をリークする”など、leakは漏れるの意味です。。過去問(平成18年午前問4)を参考にすると、メモリーリークは「アプリケーションやOSバグなどが原因で,動作中に確保した主記憶領域が解放されないことであり,これが発生すると主記憶中の利用できる部分が減少する」ことです。この対策の一つが、ガーベジコレクション(garbage collection)です。
平成28年秋期 午前 問16
問16 プログラム実行時の主記憶管理に関する記述として,適切なものはどれか。 ア 主記憶の空き領域を結合して一つの連続した領域にすることを,可変区画方式という。 イ プログラムが使用しなくなったヒープ領域を回収して再度使用可能にすることを,ガーベジコレクションという。 ウ プログラムの実行中に主記憶内でモジュールの格納位置を移動させることを,動的リンキングという。 エ プログラムの実行中に必要になった時点でモジュールをロードすることを,動的再配置という。 |
正解は、イです。
コメント