令和4年度 春期 応用情報技術者試験 午前 問18
テクノロジ/ソフトウェアフラグメンテーションに関する記述のうち,適切なものはどれか。
出典:令和4年度 春期 応用情報技術者試験 午前 問18
- ア可変長ブロックのメモリプール管理方式では,様々な大きさのメモリ領域の獲得や返却を行ってもフラグメンテーションは発生しない。
- イ固定長ブロックのメモリプール管理方式では,可変長ブロックのメモリプール管理方式よりもメモリ領域の獲得と返却を速く行えるが,フラグメンテーションが発生しやすい。
- ウフラグメンテーションの発生によって,合計としては十分な空きメモリ領域があるにもかかわらず,必要とするメモリ領域を獲得できなくなることがある。
- エメモリ領域の獲得と返却の頻度が高いシステムでは,フラグメンテーションの発生を防止するため,メモリ領域が返却されるたびにガーベジコレクションを行う必要がある。
正解:ウ
解説
フラグメンテーション(断片化)が発生すると,空きメモリの合計は十分でも連続した空き領域が確保できず,要求サイズのメモリ獲得に失敗することがあります。可変長ブロック方式で獲得・返却を繰り返すと発生しやすく,固定長ブロック方式では原理的に外部断片化は発生しません。
選択肢ごとの解説
- ア誤り。可変長ブロック方式は様々な大きさの獲得・返却を繰り返すことでフラグメンテーションが発生しやすい方式です。
- イ誤り。固定長ブロック方式は獲得・返却が速く,かつ外部フラグメンテーションが発生しにくい方式です。「発生しやすい」という記述が誤りです。
- ウ正しい。断片化により,合計では十分な空きがあっても連続領域が取れず,必要なメモリ領域を獲得できないことがあります。
- エ誤り。返却のたびにガーベジコレクション(メモリコンパクション)を行うのはオーバヘッドが大きく,必須の対策ではありません。