2016-12-17 10 views
0

私はPintos OSファイルシステムで悩んでいました。現代のファイルシステムでの断片化

現代のファイルシステムは、内部、外部、およびデータを含む断片化の問題をどのように処理しますか?

+0

何の断片化? – user3344003

+0

ファイルは連続していない異なるセクタにあります。 –

答えて

1

OK、それはあなたが興味を持っているファイルの断片です。

答えは、それは、ファイルシステムおよびオペレーティングシステムに完全に依存しています。従来のeunuchsファイルシステムの場合、ディスクは本質的に断片化されています。連続ファイルの概念はありません。ファイルは変更されたデータブロックに格納されます。このため、ページングは​​パーティションに対して行われ、宦官のほとんどのデータベースシステムはパーティションを使用します。

連続ファイルを許可する「ハード」ファイルシステムは、さまざまな方法でファイルを管理します。ファイルは、1つまたは複数の「エクステント」で構成されています。最初のエクステントがいっぱいになると、ファイルシステム管理者は新しいエクステントを作成し、そこにチェーンします。システムによっては、ファイルを作成するためのオプションが多数あります。ファイルの初期サイズを指定し、その後の割り当て(すなわち、第1エクステントのサイズおよび追加エクステントのサイズ)のためのスペースを予約することができる。

ハードファイルシステムが断片化すると、そのファイルシステムを扱う方法が異なります。システムによっては、「デフラグ」の通常の方法は、イメージをセカンダリストレージにバックアップしてから復元することです。これは、通常のシステム保守プロセスの一部である可能性があります。

その他のシステムでは、通常のシステムスケジュールの一部として実行されるユーティリティ、または手動で実行される「デフラグ」ユーティリティを使用します。

ディスクの断片化の問題は、しばしば誇張されます。妥当な容量のディスクをお持ちの場合、実際にはファイルの断片化はほとんどありません。ディスク断片化 - はい。十分な空きディスク容量があれば、これは大きな問題ではありません。ファイルの断片化は、(1)空き領域が不足しているか、(2)データが継続的に取得されるファイルがある場合に発生します。

1

実際、ほとんどのファイルシステムには断片化に対処する方法があります。しかし、それほど複雑ではない通常のファイルシステムの状況を説明します。

Ext2の場合、ファイルごとに、ファイルが格納されているブロックを指す直接的なブロックポインタが12個あります。それらが十分でない場合、block_size/4ブロックを指し示す単一の間接ブロックが存在します。まだ十分でない場合は、block_size/4の間接ブロックを指し示す間接ブロックが二重に存在します。まだ十分でない場合は、block_size/4二重間接ブロックを指す間接的なブロックがあります。このようにして、ファイルシステムはブロック境界で断片化を許します。

通常のCDとDVDのファイルシステムであるISO 9660の場合、ファイルシステムはそのままフラグメンテーションをサポートしません。しかし、大きな(2G/4G以上の記述可能な最大ファイルサイズ)ファイルを記述可能なファイルに分割するために、複数の連続したディレクトリレコードを使用することは可能です。これにより断片化が発生する可能性があります。 FATについて

、ファイルアロケーションテーブルは、断片化を可能にするために、ディスク上のすべてのデータクラスタの位置と状態を記述する。したがって、次のクラスタを読み込むとき、ドライバはファイル割り当てテーブルを検索して、次のクラスタの番号を見つけます。