ITパスポート試験 用語辞典

フラグメンテーション
【Fragmentation】
主記憶やハードディスクのような記憶装置において不連続な未使用領域が生じる現象、またはその断片化された領域のこと。

ディスク式の記憶装置でファイルの生成と削除を繰返していると、記憶領域内に連続した未使用領域が少なくなっていき、ひとつのデータが飛び飛びの領域に記録されていく。断片化されたファイルを読み取るには、ディスクヘッドを通常より多く動かすことになるため順次アクセスの効率が低下する。
また、主記憶においてはメモリ空間を区画してプログラムに割り当てた結果、不連続の未使用領域が生じることがある。未使用領域の合計が実行するタスクより大きくても不連続なためプログラムをロードすることができず、タスクを実行に使えない領域となっている状態を表す。
↓ 用語データを見る
別名:
断片化
分野:
分野:テクノロジ系
中分類:ソフトウェア
小分類:ファイルシステム
重要度:
(Wikipedia フラグメンテーションより)

フラグメンテーション(fragmentation)、断片化(だんぺんか)とは、コンピュータ上のメモリの管理上の一単位が、そのままでは有効利用できない状態になることを言う。

具体的には、使用中のメモリ領域がわずかな大きさの未使用領域を挟んで飛び飛びに配置され、連続した未使用領域が大きく確保できなくなる状態を言う。
このような状態に陥ると、メモリ領域の新たな確保、走査に時間がかかるため、コンピュータのパフォーマンスが低下する傾向にある。

メモリ上での領域確保・解放の操作を長期間繰り返していると、フラグメンテーションは必然的に、主記憶・二次記憶を問わず発生する。これを解消するには、使用中のメモリ領域を移動させ、隣り合わせに配置し直すことで相対的に連続未使用領域を大きくする。この操作をデフラグメンテーション(defragmentation, デフラグ)もしくはメモリ・コンパクション(memory compaction)と呼ぶ。

内部断片化

メモリ管理をブロック単位で行う場合に発生する。

記憶すべきデータを記憶装置に書き込む場合、購入当初は基本的に全領域が書き込める空きブロックであり、OS等の制御ソフトウェアは記憶領域の端から順番に書き込んでゆく。時間の経過と共に、消去済みとされた空きブロックが多くの場合ではランダムに生じるため、やがては1ブロックより長いデータの書き込み時にはそれより長い連続した空きブロックは不足してしまい、複数の空きブロックに分割して書き込まれる。複数の領域に分割された場合、書き込みと読み出し(記憶装置によっては削除)の動作時に、複数の領域へ読み書き機構を移動させる時間が余分に掛かることになる。

特に、HDDのように連続した領域での読み書きは早いが当該領域までの位置合わせに時間が掛かる記憶装置では断片化による影響は大きくなる。

例として仮想記憶におけるページや、ファイルシステムにおけるクラスタなどがある。

外部断片化

メモリ管理を可変長で行う場合に発生する。メモリ上での領域確保・解放(サイズ変更を含む)を繰り返すと、メモリ上の未割り当ての領域のうち連続した領域として最長のものが、割り当てたいデータのサイズよりも小さくなってしまい、そのままでは新たな領域割当てができなくなる。

この場合、データのために割当てるメモリが連続した領域でなければならない事が前提となる。例として主記憶のセグメント方式において発生する。この場合、物理アドレス空間で連続してなくとも、論理アドレス空間で連続していれば良いため、ページング方式をセグメント方式と組み合わせて用いる事も多い。

また、ヒープ等のデータ構造を、通常は線形空間であるメモリに展開する場合にも、データの加除に伴い同様に外部断片化が生じうる。断片化の解決には、データ構造に応じたコンパクションアルゴリズムが適用される。

補助記憶のデフラグメンテーションも、ファイルシステムの機能によりメモリが連続領域でなくても動作可能だが、ヘッドのシークにより効率が(かなり)低下するような場合に、外部断片化を解消して性能向上を図るものである。

「ファイルシステム」の用語

「ソフトウェア」の他の分野

「テクノロジ系」の他のカテゴリ

このページのWikipediaよりの記事は、ウィキペディアの「フラグメンテーション」(改訂履歴)の記事を複製、再配布したものにあたり、このページ内の該当部分はクリエイティブ・コモンズ 表示 - 継承 3.0 非移植 ライセンスの下 に提供されています。


Pagetop