コンピュータ

メモリコンパクションとは

メモリコンパクション

メモリコンパクション(英:memory compaction)とは、オペレーティングシステム(OS)などが持つ主記憶装置(メインメモリ)の管理機能の一つで、空き領域の断片化(フラグメンテーション)を解消し、連続したひとつの空き領域にすることです。

メモリコンパクションのイメージ例

メモリの断片化

プログラム内蔵方式を採用しているコンピュータでは、プログラムを実行するとき補助記憶装置に保存してあるプログラムを主記憶装置(メインメモリ)にロードしてから実行します。

このとき、主記憶装置にロードしたプログラムがロードした順番に終了するとは限りません。

例えば、次の図のように主記憶装置にロードしたプログラムA~プログラムDがあるとします。そして、プログラムBとプログラムDの処理が終了すると空き領域に変わります。

フラグメンテーションのイメージ例

その結果、本来であれば主記憶装置には合計「11MB」の空き領域があるので「10MB」の「プログラムE」をロードできるはずだが、空き領域がバラバラになっているため「プログラムE」をロードできません。

このような現象を断片化(フラグメンテーション)といいます。

断片化を解消するための手法がメモリコンパクション

この断片化(フラグメンテーション)を解消するための手法がメモリコンパクションです。

メモリコンパクションのイメージ例

メモリコンパクションでは、主記憶装置にロードされているプログラムを再配置することで、分割されてしまった空き領域を連続したひとつの空き領域にします。

メモリコンパクションは、メモリの断片化を解消するための手法です。ストレージ(外部記憶装置)の断片化を解消するための手法をデフラグメンテーション(デフラグ)といいます。