フラグメンテーションとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > フラグメンテーションの意味・解説 

フラグメンテーション

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/03/15 14:46 UTC 版)

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

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

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

内部断片化

ブロック単位で固定長データに関わる領域での割当てがなされる際に、領域の確保できない部分が発生する状態のこと。ブロック内で利用されない部分のこと[2]:373

外部断片化

メモリ管理を可変長で行う場合に発生する。仮想記憶におけるページングでは、メモリ管理はプログラムを512から4キロバイトの固定長単位に分割して行われるため、フラグメンテーションは発生しない。

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

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

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

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

関連項目

参考文献

  1. ^ P.HAYES, JOHN (1978,1979). Computer Architecture and Organization. pp. 356. ISBN 0-07-027363-4 
  2. ^ a b c J.DONOVAN, JOHN (1972). systems programming. ISBN 0-07-085175-1 


このページでは「ウィキペディア」からフラグメンテーションを検索した結果を表示しています。
Weblioに収録されているすべての辞書からフラグメンテーションを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からフラグメンテーション を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「フラグメンテーション」の関連用語

フラグメンテーションのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



フラグメンテーションのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのフラグメンテーション (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS