外部断片化
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/20 09:40 UTC 版)
「フラグメンテーション」の記事における「外部断片化」の解説
メモリ管理を可変長で行う場合に発生する。仮想記憶におけるページングでは、メモリ管理はプログラムを512~4kバイトの固定長単位に分割して行われるため、フラグメンテーションは発生しない。 メモリ上での領域確保・解放(サイズ変更を含む)を繰り返すと、メモリ上の未割り当ての領域のうち連続した領域として最長のものが、割り当てたいデータのサイズよりも小さくなってしまい、そのままでは新たな領域割当てができなくなる。 この場合、データのために割当てるメモリが連続した領域でなければならない事が前提となる。例として主記憶のセグメント方式において発生する:373。この場合、物理アドレス空間で連続してなくとも、論理アドレス空間で連続していれば良いため、ページング方式をセグメント方式と組み合わせて用いる事も多い。 また、ヒープ等のデータ構造を、通常は線形空間であるメモリに展開する場合にも、データの加除に伴い同様に外部断片化が生じうる。断片化の解決には、データ構造に応じたコンパクションアルゴリズムが適用される。 補助記憶のデフラグメンテーションも、ファイルシステムの機能によりメモリが連続領域でなくても動作可能だが、ヘッドのシークにより効率が(かなり)低下するような場合に、外部断片化を解消して性能向上を図るものである。
※この「外部断片化」の解説は、「フラグメンテーション」の解説の一部です。
「外部断片化」を含む「フラグメンテーション」の記事については、「フラグメンテーション」の概要を参照ください。
- 外部断片化のページへのリンク