エクステントファイルシステムとは
エクステントファイルシステム(EFS)は、コンピューターのハードドライブまたは他の物理ストレージデバイス上のファイルとメモリを管理する方法であり、ブロックと呼ばれる小さく分散したユニットを使用する代わりに、一連の連続したメモリ領域を使用して情報を保存します。 一部のファイルシステムは、ファイルに必要なスペースをブロックと呼ばれる小さな単位で割り当てます。これにより、ディスク全体に平均長の単一ファイルが物理的に散在し、そのファイルからの読み取りの速度と効率が低下する可能性があります。 エクステントファイルシステムの場合、小さなブロックはすべてエクステントと呼ばれる大きな構造にまとめられます。つまり、大きなファイルを物理ディスク上の単一の連続した場所に保存できるため、ドライブの速度が向上します。そのファイルから読み取ります。 多くのオペレーティングシステムがエクステントの使用をサポートしていますが、この用語はもともと、SiliconGraphics®が開発したIRIX®として知られる、現在廃止されたUnixライクなオペレーティングシステムの特定の初期エクステントファイルシステムに適用されます。
ハードディスクやコンパクトディスク(CD)などの物理ディスク上の個々のビットとバイトは、ハードウェア、オペレーティングシステム、およびファイルシステムによってグループに分けられます。 これらは物理的な境界を持つ必要はなく、システムによって課される境界のみが存在するため、論理グループとして知られています。 いくつかのファイルシステムでは、ブロックと呼ばれる論理グループが、ファイルを保存するために割り当てられる基本的なスペースとして使用されます。 ブロックは任意のサイズに設定できますが、通常は非常に小さく、128バイト程度のスペースで構成されることもあります。
エクステントファイルシステムは、ブロックが連続している場合、ディスク上でブロックをグループ化します。つまり、ディスク上のブロックはすべて物理的に隣接しています。 このブロックのコレクションは、エクステントと呼ばれます。 エクステントファイルシステムでは、ファイルが物理ディスクに書き込まれると、単一ブロックではなくエクステントが割り当てられます。 ブロックの代わりにエクステントを使用する利点は、大きなファイルを作成および保守するために必要なオーバーヘッドが少なくなり、断片化のリスクが大幅に減少することですが、必ずしも除去されるわけではありません。
ファイルの断片化は、使用可能なブロックまたはエクステントが提供できるよりも多くのスペースがファイルに必要な場合に発生します。つまり、ファイルを分割し、ディスク上の物理的に異なる2つ以上のスペースを占有する必要があります。 小さなブロックを使用すると、大きなファイルはディスク全体で数百または数千のブロックを占有する可能性があり、ファイルへのアクセス速度が低下します。 エクステントファイルシステムでは、大きなファイルを間接エクステントと呼ばれる異なるエクステントに分割できますが、通常、必要なエクステントの数は、より小さいブロックを使用してファイルを割り当てた場合よりも少なくなります。
大きなファイルに必要なオーバーヘッドの量を削減することに加えて、異なるブロックへの複数のポインターではなく単一のエクステントに関する情報のみをファイルシステムに保存する必要があるため、エクステントを使用すると、一部のストレージハードウェアの寿命を延ばすこともできます。 これは、連続したファイルが情報にアクセスするためにディスクドライブの読み取りヘッドメカニズムからの移動をあまり必要としないために発生する可能性があります。 エクステントファイルシステムでは、テラバイト以上の長さの単一ファイルを作成することもできます。これは、場合によっては、エクステントが理論的に利用可能なすべての物理スペースを占有できるため、管理のための広範なテーブルやその他のオーバーヘッドを作成する必要がないためです。