フラグメンテーション
出典: 令和4年度 春期 応用情報技術者試験 午前 問18 (IPA)
フラグメンテーションに関する記述のうち,適切なものはどれか。
- ア 可変長ブロックのメモリプール管理方式では,様々な大きさのメモリ領域の獲得や返却を行ってもフラグメンテーションは発生しない。
- イ 固定長ブロックのメモリプール管理方式では,可変長ブロックのメモリプール管理方式よりもメモリ領域の獲得と返却を速く行えるが,フラグメンテーションが発生しやすい。
- ウ フラグメンテーションの発生によって,合計としては十分な空きメモリ領域があるにもかかわらず,必要とするメモリ領域を獲得できなくなることがある。
- エ メモリ領域の獲得と返却の頻度が高いシステムでは,フラグメンテーションの発生を防止するため,メモリ領域が返却されるたびにガベジコレクションを行う必要がある。
正解と解説を見る
正解: ウ
- ア: 可変長ブロックで様々な大きさの領域を獲得・返却すると、フラグメンテーションが発生します。
- イ: 固定長ブロックは獲得と返却が速く、可変長ブロックよりフラグメンテーションは発生しにくいです。
- ウ: 空き領域が細かく分かれ、合計は足りていても必要な大きさの領域を取れなくなることがあるので正しい答えです。
- エ: ガベジコレクションは使われなくなった領域を回収する仕組みで、返却のたびに行う必要はありません。
ポイント
- フラグメンテーション (断片化): メモリの獲得と返却を繰り返すうちに、空き領域が小さく分かれてしまうことです。
- 空きの 合計は十分でも、連続した大きな領域が取れない ことがあります。
- 対策として、空き領域を 1 か所に集める メモリコンパクション を行います。