「ファイルシステム」の版間の差分

削除された内容 追加された内容
337行目:
! 最大パス名長
! 最大ファイルサイズ
! 最大ボリュームサイズ <ref name="volsz">ブロックサイズや[[クラスタ (記憶媒体)|クラスタ]]サイズが可変なファイルシステムについては、ブロックサイズの最大と最小のときのボリュームサイズの範囲を示す。例えば、FATではディスク上のクラスタサイズが512B~128KBである。しかし、[[Installable File System]]の一部のドライバやOSによっては 32KBより大きいクラスタサイズをサポートしていない。</ref>
|-
! [[Btrfs]]
| 255[[バイト_(情報)|バイト]]
| NUL 以外の任意のバイト <ref name="dotdot" />
| 制限の定義無し <ref name="limdef" />
| 16[[エクスビバイト|EiB]]
| 16EiB
348行目:
! [[ext2]]
| 255バイト
| NUL 以外の任意のバイト <ref name="dotdot" />
| 制限の定義無し <ref name="limdef" />
| 16[[ギビバイト|GiB]]~2[[テビバイト|TiB]]<ref name="volsz" />
| 2TiB~32TiB
355行目:
! [[ext3]]
| 255バイト
| NUL 以外の任意のバイト <ref name="dotdot" />
| 制限の定義無し <ref name="limdef" />
| 16GiB~2TiB<ref name="volsz" />
| 2TiB~32TiB
362行目:
! [[ext4]]
| 255バイト
| NUL 以外の任意のバイト <ref name="dotdot" />
| 制限の定義無し <ref name="limdef" />
| 16GiB~16TiB
| 1EiB
|-
! [[File Allocation Table|FAT12]]
| 8.3形式(または255文字) <ref name="fatres">FAT12、FAT16、FAT32の実装が、LFN(長いファイル名)をサポートしているかどうかに依存する。[[OS/2]], [[MS-DOS]], [[Microsoft Windows 95|Windows 95]], [[Microsoft Windows 98|Windows 98]] のDOSモードやLinuxの msdosドライバではLFNをサポートしていないので、ファイル名は8.3形式に制限される(制限を越えるとベース名も拡張子も空白で埋められる)。また、NUL(ディレクトリ終端マーカー)を含むこともできず、文字5(削除済みファイルマーカーとして使われる文字229の代用)も含むことができない。短い名前では小文字も含まれない。</ref>
| NUL 以外の全[[Unicode]] <ref name="fatres" /> <ref name="dotdot">これらのファイルシステムでは、"." と ".." というディレクトリエントリ名は特別な意味を持つ。そのような名前のディレクトリエントリは禁じられておらず、むしろ普通のディレクトリエントリ名として存在している。しかし、これらはある意味で固定のエントリで固定の値を持ち、ディレクトリ生成時に自動的に生成される。これらのエントリがないディレクトリは壊れていると見なされる。</ref>
| 制限の定義無し <ref name="limdef">ディスク上の構造としては制限はないが、一部のInstallable File SystemのドライバやOSによっては制限している場合がある。MS-DOSはFAT12やFAT16に関して260バイト以上のパス名をサポートしていない。Windows NTはNTFSに関して32767文字 (UTF-16) 以上のパス名をサポートしていない。POSIXの規定では「NULL終端で1024バイトを保証すること」とされているが、上限についての記述はない。</ref>
| 32[[メビバイト|MiB]]
| 1MiB~128MiB
|-
! [[File Allocation Table|FAT16]]
| 8.3形式(または255文字) <ref name="fatres" />
| NUL 以外の全[[Unicode]] <ref name="fatres" /> <ref name="dotdot" />
| 制限の定義無し <ref name="limdef" />
| 2GiB
| 16MiB~4GiB
|-
! [[File Allocation Table|FAT32]]
| 8.3形式(または255文字) <ref name="fatres" />
| NUL 以外の全[[Unicode]] <ref name="fatres" /> <ref name="dotdot" />
| 制限の定義無し <ref name="limdef" />
| 4GiB
| 512MiB~2TiB <ref>FAT32の[[パーティション]]をこのサイズで作成して使用することは可能だが、ソフトウェアによっては 32GiB以上のFAT32用パーティションを作成できない。有名なのは、[[Microsoft Windows XP|Windows XP]]のインストールプログラムである(これはNTFSの利用を促すための意図的な制限であると思われる)。これを回避するには [[Microsoft Windows Me|Windows Me]]の緊急用[[ブートディスク]]のFDISKを使う必要がある。</ref>
|-
! [[HFS+]]
| 255文字 (UTF-16)<ref>Mac OSはHFS+のボリューム上のファイル名を扱う関数群を2種類用意している。ひとつは完全なUnicodeの名前を返し、もうひとつは従来互換を保つために31バイトまでの名前を返すものである。</ref>
| 任意の正しい[[Unicode]] <ref> HFS+は任意のUnicode文字を許すために[[エスケープシーケンス]]をサポートしている。古いソフトウェアからはそのエスケープシーケンスがそのまま見える。</ref> <ref name="dotdot" />
| 無制限
| 8EiB
| 8EiB <ref>HFS+のボリュームサイズはほぼ無制限であるが、Mac OSには以下のような制限がある。[[Classic Mac OS|Mac OS]] 8, 9:2TiB。[[macOS|Mac OS X]] 10、10.1:2TiB。Mac OS X 10.2:8TiB。Mac OS X 10.3、10.4:16TiB。ファイルサイズの最大はこれより若干小さい(Mac OS 8では2GB)。フォルダ内の最大ファイル数(フォルダ数)は以下の通り。 Mac OS 8, 9:2^15 (32767)。macOS:2^31。しかし、通常最大ボリュームサイズをブロックサイズで割った値で制限される。</ref>
|-
! [[Hierarchical File System|HFS]]
404行目:
! [[JFS]]
| 255バイト
| NUL以外の任意のバイト <ref name="dotdot" />
| 制限の定義無し <ref name="limdef" />
| 8EiB
| 512TiB~4[[ペビバイト|PiB]]
411行目:
! [[NILFS]]
| 255文字
| NUL 以外の任意のバイト <ref name="dotdot" />
| 制限の定義無し <ref name="limdef" />
| 8EiB
| 8EiB
418行目:
! [[NT File System|NTFS]]
| 255文字
| NUL 以外の全[[Unicode]]
| Unicodeで32,767文字(ファイル名やディレクトリ名はそれぞれ255文字まで) <ref name="limdef" />
| 16EiB <ref name="ntfslim">これはディスク上の構造による制限である。[[Microsoft Windows NT|Windows NT]]用NTFSドライバはボリュームサイズを256TiB、ファイルサイズを16TiB に制限している。</ref>
| 16EiB <ref name="ntfslim" />
|-
! [[ReFS]]
| 255文字 (UTF-16)
| NUL 以外の全[[Unicode]]
| Unicodeで32,767文字(ファイル名やディレクトリ名はそれぞれ255文字まで) <ref name="limdef" />
| 16EiB
| 3.76[[ゼビバイト|ZiB]]
433行目:
| 不明
| 不明
| 制限の定義無し <ref name="limdef" />
| x86では 8TiB
| 不明
439行目:
! [[ReiserFS]]
| 4032バイト/255バイト(VFSによる制限)
| NUL 以外の任意のバイト <ref name="dotdot" />
| 制限の定義無し <ref name="limdef" />
| 8TiB<ref>ReiserFSの理論上の最大ファイルサイズは1EiBだが、[http://www.namesys.com/faq.html#reiserfsspecs]によれば、「ページキャッシュの制限により、32ビット int のアーキテクチャでは 8TiB に制限される」</ref>
| 16TiB
453行目:
! [[ユニバーサルディスクフォーマット|UDF]]
| 255バイト
| NUL 以外の全[[Unicode]]
| 1023バイト <ref>この制限は新しい版では大きくなるかもしれない。</ref>
| 16EiB
| 不明
460行目:
! [[Unix File System|UFS(FFS)]]
| 255バイト
| NUL 以外の任意のバイト <ref name="dotdot" />
| 制限の定義無し <ref name="limdef" />
| 4GiB
| 256TiB
467行目:
! [[Unix File System|UFS(FFFS)]]
| 255バイト
| NUL 以外の任意のバイト <ref name="dotdot" />
| 制限の定義無し <ref name="limdef" />
| 4GiB~256TiB
| 256TiB
474行目:
! [[Unix File System|UFS2]]
| 255バイト
| NUL 以外の任意のバイト <ref name="dotdot" />
| 制限の定義無し <ref name="limdef" />
| 512GiB~32PiB
| 1[[ヨビバイト|YiB]]
481行目:
! [[VxFS]]
| 255バイト
| NUL以外の任意のバイト <ref name="dotdot" />
| 制限の定義無し <ref name="limdef" />
| 16EiB
| 不明
488行目:
! [[XFS]]
| 255バイト
| NUL以外の任意のバイト <ref name="dotdot" />
| 制限の定義無し <ref name="limdef" />
| 8EiB<ref name="xfslim">Linux 2.4 では XFS の最大ファイルサイズは 64TiB だが、Linux 2.4 自体が最大 2TiB までしかサポートしていない。[[IRIX]]にはこの制限はない。</ref>
| 8EiB<ref name="xfslim" />
498行目:
! 最大パス名長
! 最大ファイルサイズ
! 最大ボリュームサイズ <ref name="volsz" />
|}