Download

Go to The Main Page Add Download to favorite!

Comparison of file systems 


The following tables compare general and technical information for a number of file systems.

Contents

General information

File system Creator Year of introduction Original operating system
DECtape DEC 1964 PDP-6 Monitor
Level-D DEC 1968 TOPS-10
George 2 ICT (later ICL) 1968 George 2
V6FS Bell Labs 1972 Version 6 Unix
RT-11 file system DEC 1973 RT-11
Disk Operating System (GEC DOS) GEC 1973 Core Operating System
CP/M file system Gary Kildall 1974 CP/M
GEC DOS filing system extended GEC 1977 OS4000
FAT12 Microsoft 1977 Microsoft Disk BASIC
DOS 3.x Apple Computer 1978 Apple DOS
Pascal Apple Computer 1978 Apple Pascal
CBM DOS Commodore 1978 Microsoft BASIC (for CBM PET)
V7FS Bell Labs 1979 Version 7 Unix
ODS-2 DEC 1979 OpenVMS
DFS Acorn Computers Ltd 1982 Acorn BBC Micro MOS
ADFS Acorn Computers Ltd 1983 Acorn Electron (later Arthur RISC OS)
FFS Kirk McKusick 1983 4.2BSD
ProDOS Apple Computer 1983 ProDOS 8
MFS Apple Computer 1984 Mac OS
Elektronika BK tape format NPO "Scientific centre" (now Sitronics) 1985 Vilnius Basic, BK monitor program
HFS Apple Computer 1985 Mac OS
Amiga OFS54 Metacomco for Commodore 1985 Amiga OS
High Sierra Ecma International 1985 MS-DOS, Microsoft Windows, Mac OS
NWFS Novell 1985 NetWare 286
FAT16 Microsoft 1987 MS-DOS 3.31
Minix V1 FS Andrew S. Tanenbaum 1987 Minix 1.0
Amiga FFS Commodore 1988 Amiga OS 1.3
HPFS IBM & Microsoft 1988 OS/2
ISO 9660:1988 Ecma International, Microsoft 1988 MS-DOS, Microsoft Windows, Linux, Mac OS X, FreeBSD, and AmigaOS
JFS1 IBM 1990 AIX[1]
VxFS VERITAS 1991 SVR4.0
AdvFS DEC 1993 [2] Digital Unix
NTFS Microsoft, Gary Kimura, Tom Miller 1993 Windows NT
LFS Margo Seltzer 1993 Berkeley Sprite
ext2 Rémy Card 1993 Linux, Hurd
UFS1 Kirk McKusick 1994 4.4BSD
XFS SGI 1994 IRIX, Linux, FreeBSD
HFS IBM 1994 MVS/ESA (now z/OS)
Joliet ("CDFS") Microsoft 1995 Microsoft Windows, Linux, Mac OS X, and FreeBSD
UDF ISO/ECMA/OSTA 1995 -
FAT32 Microsoft 1996 Windows 95b[3]
QFS Sun Microsystems 1996 Solaris
GPFS IBM 1996 AIX, Linux
Be File System Be Inc., D. Giampaolo, C. Meurillon 1996 BeOS
Minix V2 FS Andrew S. Tanenbaum 1997 Minix 2.0
HFS Plus Apple Computer 1998 Mac OS 8.1
NSS Novell 1998 NetWare 5
PolyServe File System (PSFS) PolyServe 1998 Windows, Linux
ODS-5 DEC 1998 OpenVMS 7.2
ext3 Dr. Stephen C. Tweedie 1999 Linux
ISO 9660:1999 Ecma International, Microsoft 1999 Microsoft Windows, Linux, Mac OS X, FreeBSD, and AmigaOS
Lustre Sun Microsystems/Cluster File Systems 2002 Linux
JFS IBM 1999 OS/2 Warp Server for e-business
GFS Sistina (Red Hat) 2000 Linux
ReiserFS Namesys 2001 Linux
zFS IBM 2001 z/OS (backported to OS/390)
FATX Microsoft 2002 Xbox
UFS2 Kirk McKusick 2002 FreeBSD 5.0
OCFS Oracle Corporation 2002 Linux
VMFS2 VMware 2002 VMware ESX Server 2.0
Fossil Bell Labs 2003 Plan 9 from Bell Labs 4
Google File System Google 2003 Linux
ZFS Sun Microsystems 2004 Solaris
Reiser4 Namesys 2004 Linux
Non-Volatile File System Palm, Inc. 2004 Palm OS Garnet
Minix V3 FS Andrew S. Tanenbaum 2005 MINIX 3
OCFS2 Oracle Corporation 2005 Linux
NILFS NTT 2005 Linux
VMFS3 VMware 2005 VMware ESX Server 3.0
GFS2 Red Hat 2006 Linux
ext4 various 2006 Linux
exFAT Microsoft 2006 Windows CE 6.0
Btrfs Oracle Corporation 2007 Linux
CoreFSIF Avanticore, Inc. 2007 Cross-platform
HAMMER Matthew Dillon 2008 DragonFly BSD

Limits

File system Maximum filename length Allowable characters in directory entries[4] Maximum pathname length Maximum file size Maximum volume size [5]
CoreFSIF 256 All except null,'*','?' 256 2 GiB 2 TiB
CP/M file system 8.3  ? Initial versions had no subdirectories  ?  ?
IBM SFS 8.8  ?  ? Non-hierarchical[6]  ?
DECtape 6.3 A–Z, 0–9 DTxN:FILNAM.EXT = 15 369,280 bytes (577 * 640) 369,920 bytes (578 * 640)
Elektronika BK tape format 16 bytes No directory hierarchy 64 KiB Not limited. Approx. 800KB (one side) for 90 min cassette
MicroDOS file system 14 bytes 16 MiB 32 MiB
Level-D 6.3 A–Z, 0–9 DEVICE:FILNAM.EXT[PROJCT,PROGRM] = 7 + 10 + 15 = 32; + 5*7 for SFDs = 67 34,359,738,368 words (2**35-1); 206,158,430,208 SIXBIT bytes Approx 12 GB (64 * 178 MB)
RT-11 6.3 A–Z, 0–9, $ 0 (no directory hierarchy) 33,554,432 bytes (65536 * 512) 33,554,432 bytes
V6FS 14 bytes [7] Any byte except NUL and / [8] No limit defined [9] 8 MiB [10] 2 TiB
Disk Operating System (GEC DOS)  ?  ?  ?  ? at least 131,072 bytes  ?
GEC DOS filing system extended 8 bytes A–Z, 0–9. Period was directory separator  ? No limit defined (workaround for OS limit)  ? at least 131,072 bytes  ?
CBM DOS 16 bytes Any byte except NUL 0 (no directory hierarchy) 16 MiB 16 MiB
V7FS 14 bytes [7] Any byte except NUL and / [8] No limit defined [9] 1 GiB [11] 2 TiB
exFAT  ?  ? No limit defined 16 EiB  ?
FAT12 8.3 (255 UTF-16 characters with LFN) [7] Any Unicode except NUL (with LFN) [7] [8] No limit defined [9] 32 MiB 1 MiB to 32 MiB
FAT16 8.3 (255 UTF-16 characters with LFN) [7] Any Unicode except NUL (with LFN)[7] [8] No limit defined [9] 2 GiB 16 MiB to 2 GiB
FAT32 8.3 (255 UTF-16 characters with LFN) [7] Any Unicode except NUL (with LFN)[7] [8] No limit defined [9] 4 GiB 512 MiB to 8 TiB [12]
FATX 42 bytes [7] ASCII. Unicode not permitted. No limit defined [9] 2 GiB 16 MiB to 2 GiB
Fossil  ?  ?  ?  ?  ?
MFS 255 bytes Any byte except : No path (flat filesystem) 256 MiB 256 MiB
DOS 3.x 40 bytes A-Z, 0-9, CTRL characters allowed but invisible No directory hierarchy approx. 130K 140K, one side of a SD 5.25" floppy
ProDOS 15 bytes A-Z, 0-9, . 64 bytes including slashes 16MB 32MB
HFS 31 bytes Any byte except : Unlimited 2 GiB 2 TiB
HPFS 255 bytes Any byte except NUL [13] No limit defined [9] 2 GiB 2 TiB[14]
NTFS 255 characters Any Unicode except NUL, / 32,767 Unicode characters with each path component (directory or filename) up to 255 characters long [9] 16 EiB [15] 16 EiB [15]
HFS Plus 255 UTF-16 characters [16] Any valid Unicode [17] [8] Unlimited slightly less than 8 EiB slightly less than 8 EiB [18]
FFS 255 bytes Any byte except NUL [8] No limit defined [9] 4 GiB 256 TiB
UFS1 255 bytes Any byte except NUL [8] No limit defined [9] 4 GiB to 256 TiB 256 TiB
UFS2 255 bytes Any byte except NUL [8] No limit defined [9] 512 GiB to 32 PiB 1 YiB
ext2 255 bytes Any byte except NUL [8] No limit defined [9] 16 GiB to 2 TiB[5] 2 TiB to 32 TiB
ext3 255 bytes Any byte except NUL [8] No limit defined [9] 16 GiB to 2 TiB[5] 2 TiB to 32 TiB
ext4 255 bytes Any byte except NUL [8] No limit defined [9] 1 EiB[5][19] 1 EiB
Lustre 255 bytes Any byte except NUL [8] No limit defined [9] 320 TiB on ext4 (16 TiB tested) 220 EiB on ext4 (2 PiB tested)
GPFS 255 UTF-8 codepoints Any byte except NUL [8] No limit defined [9] No limit found 299 bytes (2 PiB tested)
GFS 255 Any byte except NUL [8] No limit defined [9] 2 TB to 8 EB[20] 2 TB to 8 EB[20]
NILFS 255 bytes Any byte except NUL [8] No limit defined [9] 8 EiB 8 EiB
ReiserFS 4,032 bytes/255 characters Any byte except NUL [8] No limit defined [9] 8 TiB[21] (v3.6), 4 GiB (v3.5) 16 TiB
Reiser4 3,976 bytes Any byte except / and NUL No limit defined [9] 8 TiB on x86  ?
OCFS 255 bytes Any byte except NUL [8] No limit defined [9] 8 TiB 8 TiB
OCFS2 255 bytes Any byte except NUL [8] No limit defined [9] 4 PiB [22] 4 PiB [22]
XFS 255 bytes [23] Any byte except NUL [8] No limit defined [9] 8 EiB[24] 8 EiB[24]
JFS1 255 bytes Any byte except NUL [8] No limit defined [9] 8 EiB 512 TiB to 4 PiB
JFS 255 bytes Any Unicode except NUL No limit defined [9] 4 PiB 32 PiB
QFS 255 bytes Any byte except NUL [8] No limit defined [9] 16 EiB [25] 4 PiB [25]
BFS 255 bytes Any byte except NUL [8] No limit defined [9] 12,288 bytes to 260 GiB[26] 256 PiB to 2 EiB
AdvFS 255 characters Any byte except NUL [8] No limit defined [9] 16 TiB 16 TiB
NSS 256 characters Depends on namespace used [27] Only limited by client 8 TiB 8 TiB
NWFS 80 bytes [28] Depends on namespace used [27] No limit defined [9] 4 GiB 1 TiB
ODS-5 236 bytes[29]  ? 4,096 bytes[30] 1 TiB 1 TiB
VxFS 255 bytes Any byte except NUL [8] No limit defined [9] 16 EiB  ?
UDF 255 bytes Any Unicode except NUL 1,023 bytes [31] 16 EiB  ?
ZFS 255 bytes Any Unicode except NUL No limit defined [9] 16 EiB 218 EiB (278 bytes)
Minix V1 FS 14 or 30 bytes, set at filesystem creation time Any byte except NUL [8] No limit defined [9] 1 GiB 1 GiB
Minix V2 FS 14 or 30 bytes, set at filesystem creation time Any byte except NUL [8] No limit defined [9] 1 GiB 1 GiB
Minix V3 FS 60 bytes Any byte except NUL [8] No limit defined [9] 4 GiB 4 GiB
VMFS2 128 Any byte except NUL and / [8] 2,048 4 TiB [32] 64 TiB
VMFS3 128 Any byte except NUL and / [8] 2,048 2 TiB [32] 64 TiB
ISO 9660:1988 Level 1: 8.3,
Level 2 & 3: ~ 180
Depends on Level [33] ~ 180 bytes? 4 GiB (Level 1 & 2) to 8 TiB (Level 3) [34] 8 TiB [35]
Joliet ("CDFS") 64 Unicode characters All UCS-2 code except *, /, \, :, ;, and ? [36]  ? same as ISO 9660:1988 same as ISO 9660:1988
ISO 9660:1999  ?  ?  ?  ?  ?
High Sierra  ?  ?  ?  ?  ?
File system Maximum filename length Allowable characters in directory entries[4] Maximum pathname length Maximum file size Maximum volume size [5]

Metadata

File system Stores file owner POSIX file permissions Creation timestamps Last access/ read timestamps Last modification of content This copy created Last metadata change timestamps Last archive timestamps Access control lists Security/ MAC labels Extended attributes/ Alternate data streams/ forks Checksum/ ECC
CP/M file system No No Yes[37] No No No No No No No
DECtape No No Yes No No No No No No No
Elektronika BK tape format No No No No No No No No No No No Yes
Level-D Yes Yes Yes Yes Yes Yes Yes No No No
RT-11 No No Yes No No No No No No No
V6FS Yes Yes No Yes Yes No No No No No
V7FS Yes Yes No Yes Yes No No No No No
FAT12 No No Yes Yes No[38] No No No No [39] No
FAT16 No No Yes Yes Yes No No[38] No No No No [39] No
FAT32 No No Yes Yes Yes No No[38] No No No No Template:Sometimes
HPFS Yes[40] No Yes Yes No No No  ? Yes No
NTFS Yes Yes[41] Yes Yes Yes Yes No Yes Yes[42] Yes No
HFS No No Yes No No Yes No No Yes No
HFS Plus Yes Yes Yes Yes Yes Yes Yes  ? Yes No
FFS Yes Yes No Yes Yes No No No No No
UFS1 Yes Yes No Yes Yes No Yes No Yes [43] Yes [43] No [44] No
UFS2 Yes Yes Yes Yes Yes No Yes No Yes [43] Yes [43] Yes No
LFS Yes Yes No Yes Yes No No No No No
ext2 Yes Yes No Yes Yes No Yes [45] Yes [45] Yes No
ext3 Yes Yes No Yes Yes No Yes No Yes [45] Yes [45] Yes No
ext4 Yes Yes Yes Yes Yes No Yes [45] Yes [45] Yes No
Lustre Yes Yes No Yes Yes No Yes Yes Yes No
GPFS Yes Yes Yes Yes Yes No Yes Yes Yes Yes
GFS Yes Yes No Yes Yes No Yes [45] Yes [45] Yes No
NILFS Yes Yes Yes No Yes No No No No Yes
ReiserFS Yes Yes No Yes Yes No Yes No Yes [45] Yes [45] Yes No
Reiser4 Yes Yes No Yes Yes No No No No No
OCFS No Yes No No Yes Yes No No No No
OCFS2 Yes Yes No Yes Yes No No No No No
XFS Yes Yes No Yes Yes No Yes Yes [45] Yes No
JFS Yes Yes Yes Yes Yes No Yes Yes Yes No
QFS Yes Yes Yes Yes Yes Yes Yes No Yes No
BFS Yes Yes Yes No No No No No Yes No
AdvFS Yes Yes No Yes Yes No Yes No Yes No
NSS Yes Yes Yes[46] Yes[46] Yes Yes[46] Yes  ? Yes[47] [48] No
NWFS Yes  ? Yes[46] Yes[46] Yes Yes[46] Yes  ? Yes[47] [48] No
ODS-5 Yes Yes Yes  ?  ? Yes Yes  ? Yes [49] No
VxFS Yes Yes Yes Yes Yes No Yes  ? Yes [45] No
UDF Yes Yes Yes Yes Yes Yes Yes No Yes No
Fossil Yes Yes [50] No Yes Yes No No No No No
ZFS Yes Yes Yes Yes Yes Yes Yes No [51] Yes [52] Yes
VMFS2 Yes Yes No Yes Yes No No No No No
VMFS3 Yes Yes No Yes Yes No No No No No
ISO 9660:1988 No No Yes No No No No No No No
Joliet ("CDFS") No No Yes No No No No No No No
ISO 9660:1999 No No Yes No No No No No No No
High Sierra No No Yes No No No No No No No
CoreFSIF No Yes Yes No No No No No No Yes
File system Stores file owner POSIX file permissions Creation timestamps Last access/read timestamps Last modification of content This copy created Last metadata change timestamps Last archive timestamps Access control lists Security/ MAC labels Extended attributes/ Alternate data streams/ forks Checksum/ ECC

Features

File system Hard links Symbolic links Block journaling Metadata-only journaling Case-sensitive Case-preserving File Change Log Internal snapshotting / branching XIP Filesystem-level encryption
CoreFSIF Yes Partial No No Yes Yes No No No Yes, AES
DECtape No No No No No No No No No No
Level-D No No No No No No No No No No
RT-11 No No No No No No No No No No
Elektronika BK tape format No No No No Yes Yes No No No No
V6FS Yes No No No Yes Yes No No No No No
V7FS Yes No [53] No No Yes Yes No No No No No
FAT12 No No No No No No No No No No No
FAT16 No No No No No Partial No No No No No
FAT32 No No No No No Partial No No No No No
GFS Yes Yes[54] Yes Yes[55] Yes Yes No No No No No
HPFS No No No No No Yes No  ? No No No
NTFS Yes Yes[56] No[57] Yes[57] Yes[58] Yes Yes Partial[59]  ? Yes No
HFS Plus Partial Yes No Yes[60] Partial[61] Yes Yes[62] No No No[63] No
FFS Yes Yes No No Yes Yes No No No No No
UFS1 Yes Yes No No Yes Yes No No No No No
UFS2 Yes Yes Yes No[64] Yes Yes No Yes  ? No No
LFS Yes Yes Yes[65] No