コンピューティングにおいて、エクステントとは、ファイル システム内のファイル用に予約された連続したストレージ領域であり、ブロック番号の範囲、またはカウント キー データデバイス上のトラックとして表されます。ファイルは 0 個以上のエクステントで構成できます。1 つのファイル フラグメントには 1 つのエクステントが必要です。直接的な利点は、範囲内のすべてのブロック番号を標準的に格納するのではなく、各範囲を 2 つの番号としてコンパクトに格納できることです。 [1]また、エクステントの割り当てにより、ファイルの断片化が少なくなります。
エクステントベースのファイルシステムは、従来はブロック割り当てツリーによって占められていた大きなファイルのメタデータのオーバーヘッドのほとんどを排除することもできます。しかし、保存されるデータの量と比較すると節約量は小さいため(一般的にすべてのファイルサイズの場合)、メタデータの大部分を占めるため(大きなファイルの場合)、ストレージ効率とパフォーマンスの全体的な利点はわずかです。[2]
断片化を防ぐために、いくつかのエクステントベースのファイルシステムでは、フラッシュ時に割り当てが行われます。多くの最新のフォールトトレラントファイルシステムでは、コピーオンライトも行われますが、これにより断片化が増加します。同様の設計として、CP/M ファイルシステムでもエクステントが使用されますが、これは上記の定義に対応していません。CP /Mのエクステントは、結合されたディレクトリ/割り当てテーブル内で 1 つのブロックとして連続して表示され、ディスク上の連続したデータ領域に必ずしも対応しているわけではありません。
IBM OS/360 および後継製品では、ファイルをディスク トラックまたはシリンダの倍数で割り当てます。ファイルは元々最大 16 のエクステントを持つことができましたが、この制限はその後解除されました。初期割り当てサイズ、および必要に応じて割り当てられる追加のエクステントのサイズは、ジョブ制御言語を使用してユーザーが指定します。システムは初期サイズを連続した領域として割り当てようとしますが、連続したスペースが利用できない場合は分割されることがあります。
採択
ファイル システム エクステントをサポートするシステムは次のとおりです。
- APFS – Apple ファイルシステム
- ASM – 自動ストレージ管理 – Oracle のデータベース指向ファイルシステム
- BFS – BeOS、Zeta、Haikuオペレーティングシステム
- Btrfs – Linux 用のエクステントベースのコピーオンライト(COW) ファイルシステム
- EFS – エクステント ファイル システム – SGI のIRIX用第 1 世代ファイル システム
- ext4 – Linuxファイルシステム (構成でエクステントが有効になっている場合 – Linux バージョン 2.6.23 以降のデフォルト)
- ファイル-11 – OpenVMSファイルシステム
- HFSおよびHFS Plus – 階層型ファイルシステム – Apple Macintoshファイルシステム
- 高性能ファイルシステム(HPFS) – OS/2、eComStation、ArcaOS上
- IceFS – IceFileSystem – MorphOSのオプションのファイルシステム
- JFS – ジャーナル ファイル システム – AIX、OS/2 /eComStation/ArcaOS、Linuxオペレーティング システムで使用されます。
- ISO 9660 – 光ディスクメディア用エクステントベースのファイルシステム
- マルチプログラミングエグゼクティブ–ヒューレット・パッカード のファイルシステム
- NTFS – Windowsで使用される
- OCFS2 – Oracle Cluster File System – Linux 用の共有ディスク ファイル システム
- Reiser4 – Linux ファイルシステム (「エクステント」モード)
- SINTRAN III – 初期のコンピュータ会社Norsk Dataが使用したファイルシステム
- UDF – ユニバーサル ディスク フォーマット – 光学メディアの標準
- VERITAS ファイル システム – 事前割り当て API と CLI を介して有効化
- XFS – SGI のIRIXおよびLinux向け第 2 世代ファイルシステム
ファイル システム以外での採用には次のものがあります。
- Microsoft SQL Server – バージョンは8KBページ8つで構成される64KBのエクステントをサポートします。[3]
- Oracleデータベースはブロックをエクステントにグループ化し、エクステントをセグメントにグループ化します。[4]
参照
参考文献
- ^ 「Ext4 を理解する (パート 1): エクステント」。2010 年 12 月 20 日。2015 年 2 月 3 日にオリジナルからアーカイブ。2015 年 2月 2 日に取得。
ただし、EXT4 の実際の変更点は、以前の Unix ファイル システム (EXT2 や EXT3 など) でファイル コンテンツを追跡するために使用されていた古くて非効率的な間接ブロック メカニズムではなく、エクステントを使用していることです。エクステントは、NTFS ファイル システムのクラスター実行に似ています。基本的に、エクステントは、最初のブロック アドレスと、エクステントを構成するブロックの数を指定します。断片化されたファイルには複数のエクステントがありますが、EXT4 はファイルを連続的に維持しようとします。
- ^ 「Ext4 ディスクレイアウト」。2015 年 1 月 26 日。2015年2 月 2 日に取得
。flex_bg を有効にすると、単一のエクステントで非常に大きなファイルを割り当てることが可能になり、メタデータ ブロックの使用が大幅に削減され、ディスク効率がいくらか向上します。
- ^ 「ページとエクステントのアーキテクチャ ガイド - SQL Server」。learn.microsoft.com。Microsoft。2024年 6 月 12 日。2024 年12 月 18 日に閲覧。
- ^ 「Oracle Database 23ai テクニカル・アーキテクチャ」。docs.oracle.com。Oracle Corporation。2024年12月18日閲覧。
外部リンク
- Solaris ファイルシステムを理解する、パート 1: 割り当てとストレージ戦略 - ブロックベースとエクステントベースの割り当ての比較
