目次
メモリコンパクションとデフラグテーション
メモリコンパクションとデフラグテーションはどちらも断片化(フラグメンテーション)を解消するための手法です。
メモリコンパクションとデフラグテーションの違いは、メモリで発生した断片化を解消するのがメモリコンパクション、ハードディスクなどのストレージ機器で発生した断片化を解消するのがデフラグテーションです。
簡易説明
- メモリコンパクション:メモリで発生した断片化を解消するための手法
- デフラグテーション:ストレージで発生した断片化を解消するための手法
メモリコンパクション
メモリの断片化
プログラム内蔵方式という方式を採用しているコンピュータは、プログラムを実行するとき補助記憶装置に保存してあるプログラムを主記憶装置(メインメモリ)にロードしてから実行します。
そして、ロードしたプログラムの処理が終了すると、プログラムをロードしていた領域は空き領域に変わります。次の図ではプログラムBとプログラムDの処理が終了し、空き領域に変わっています。(※図の例は可変区画方式)
その結果、本来であれば主記憶装置には合計「11MB」の空き領域があるので「10MB」の「プログラムE」をロードできるはずだが、空き領域がバラバラになっているため「プログラムE」をロードできません。
このような現象のことを断片化(フラグメンテーション)といいます。
そして、このメモリで発生した断片化を解消する手法がメモリコンパクションです。
スポンサーリンク
メモリコンパクションとは
メモリコンパクションでは、主記憶装置にロードされているプログラムを再配置することで、分割されてしまった空き領域を連続したひとつの空き領域にします。
上記図の例では、バラバラに分割された「空き領域」が、メモリコンパクションにより連続したひとつの領域になっています。
デフラグテーション(デフラグ)
ディスクの断片化
ハードディスクなどのストレージ機器は、ファイルなどを保存するとき、空き領域から必要な大きさの領域を確保して記録します。そして、保存してあるファイルをストレージから削除すると、その領域は空き領域に変わります。
次の図では、データAとデータCを削除したため、その領域は空き領域に変わっています。(空き領域がバラバラになっている)
そして、新しく「データE」を保存するも、空き領域がバラバラになっているため、データも分割されて保存されています。
このように、空き領域やデータの領域がバラバラになってしまう現象を断片化(フラグメンテーション)といいます。
そして、このストレージで発生した断片化を解消する手法がデフラグテーションです。
デフラグテーション(デフラグ)とは
デフラグメンテーションでは、ストレージに保存してあるデータを再配置し、各データの領域や空き領域をなるべく連続した状態になるようにします。
上記図の例では、バラバラに分割された「空き領域」と「データEの領域」が、デフラグテーションによりひとつの連続した領域になっています。