1. General information
File system | Creator | Year introduced | Original operating system |
1964 | |||
1968 | |||
1968 | |||
1972 | |||
1972 | |||
RT-11 file system | 1973 | ||
DOS (GEC) | 1973 | ||
CP/M file system | 1974 | ||
1977 | |||
FAT (8-bit) | 1977 | ||
1978 | |||
1978 | |||
1978 | |||
1979 | |||
1979 | |||
1980 | |||
1982 | |||
1983 | Acorn Electron (later Arthur RISC OS) | ||
1983 | |||
1983 | |||
1984 | |||
1984 | MS-DOS 3.0 | ||
Elektronika BK tape format | NPO "Scientific centre" (now Sitronics) | 1985 | Vilnius Basic, BK monitor program |
1985 | |||
1985 | |||
1985 | |||
1985 | |||
1987 | |||
1987 | Minix 1.0 | ||
1988 | Amiga OS 1.3 | ||
1988 | |||
1988 | |||
1990 | |||
1991 | |||
1992 | |||
1992 | Data ONTAP | ||
1992 | MINIX 1.6 and 2.0 | ||
1993[2] | |||
NTFS Version 1.0 | 1993 | ||
1993 | |||
1993 | |||
1994 | |||
1994 | |||
HFS | 1994 | ||
Young Minds Inc. | 1994 | ||
1995 | Microsoft Windows, Linux, Mac OS, and FreeBSD | ||
1996 | |||
1995 | - | ||
1996 | |||
LSC Inc, Sun Microsystems | 1996 | ||
1996 | |||
1996 | |||
1998 | |||
1998 | |||
1998 | |||
1998 | OpenVMS 7.2 | ||
1999 | |||
1999 | Microsoft Windows, Linux, Mac OS X, FreeBSD, and AmigaOS | ||
1999 | OS/2 Warp Server for e-business | ||
2000 | |||
2001 | |||
NTFS Version 5.1 | 2001 | ||
2001 | |||
zFS | 2001 | ||
2002 | |||
2002 | FreeBSD 5.0 | ||
2002 | |||
2002 | |||
2002 | |||
2003 | |||
2003 | |||
2003 | Windows CE, VxWorks, custom ports | ||
2004 | |||
2004 | |||
2004 | |||
2005 | |||
2005 | |||
2005 | |||
2005 | VMware ESX Server 3.0 | ||
2006 | |||
various | 2006 | ||
2006, 2009 | |||
2006 | |||
NTFS Version 6.0 | 2006 | ||
2007 | |||
2008 | |||
2009 | Linux - Red Hat Enterprise Linux 5 and Oracle Enterprise Linux 5 only | ||
2009 | Windows CE, Windows Mobile, VxWorks, Linux, custom ports | ||
2010 | Linux, Mac OS X, planned Microsoft Windows, | ||
IlesfayFS | 2011 | ||
2011 | VMware ESXi 5.0 |
2. Limits
File system | Maximum filename length | Allowable characters in directory entries[5] | Maximum pathname length | Maximum file size | Maximum volume size[6] |
10 bytes | Any ISO 8859-1 character except: SPACE $ & % @ \ ^ : . # * " ¦ | No limit defined | 512 MB or 4 GB[7] | 512 MB or 4 GB[8] | |
30 bytes | Any byte except NUL | 30 B, no subdirectories (105 files per disk) | Unknown | 113.75 kB DOS 3.1, 3.2 140 kB DOS 3.3 (assuming standard 35 tracks) | |
15 bytes | A-Z, a-z, 0-9, and period | Unknown | 16 MB | 32 MB | |
CP/M file system | 8.3 | any byte except: SPACE < > . , ; : = ? * [ ] % | ( ) / \[9] | 16 "user areas", no subdirectories | 8 MB[10] | 8 MB to 512 MB[10] |
IBM SFS | 8.8 | Unknown | Non-hierarchical[11] | Unknown | Unknown |
6.3 | A–Z, 0–9 | DTxN:FILNAM.EXT = 15 | 369,280 B (577 * 640) | 369,920 B (578 * 640) | |
Elektronika BK tape format | 16 bytes | Unknown | Non-hierarchical | 64 kB | Not limited. Approx. 800 kB (one side) for 90 min cassette |
MicroDOS file system | 14 bytes | Unknown | Unknown | 16 MB | 32 MB |
6.3 | A–Z, 0–9 | DEVICE:FILNAM.EXT[PROJCT,PROGRM] = 7 + 10 + 15 = 32; + 5*7 for SFDs = 67 | 24 GB (34,359,738,368 words (235-1); 206,158,430,208 SIXBIT bytes) | 12 GB (approx; 64 * 178 MB) | |
6.3 | A–Z, 0–9, $ | Non-hierarchical | 32 MB (65536 * 512) | 32 MB | |
14 bytes[12] | No limit defined[14] | 16 MB[15] | 2 TB | ||
DOS (GEC) | 8 bytes | A–Z, 0–9 | Non-hierarchical | 64 MB | 64 MB |
8 bytes | A–Z, 0–9 Period is directory separator | No limit defined[14] | 2 GB | 1 GB (at least) | |
16 bytes | Any byte except NUL | Non-hierarchical | 16 MB | 16 MB | |
14 bytes[12] | Any byte except NUL and /[13] | No limit defined[14] | 1 GB[16] | 2 TB | |
255 characters [17] | Any Unicode except NUL | No limit defined | 127 PB | 64 ZB, 512 TB recommended[18] | |
247 characters | Any Unicode except NUL | No limit defined | 2 GB | 500 GB Tested[19] | |
No limit defined[14] | 32 MB (256 MB) | 32 MB (256 MB) | |||
No limit defined[14] | 2 GB (4 GB) | 2 GB or 4 GB | |||
No limit defined[14] | 4 GB | 2 TB[20] (16 TB) | |||
42 bytes[12] | ASCII. Unicode not permitted. | No limit defined[14] | 2 GB | 2 GB | |
Unknown | Unknown | Unknown | Unknown | Unknown | |
255 bytes | Any byte except : | No path (flat filesystem) | 226 MB | 226 MB | |
31 bytes | Any byte except :[21] | Unlimited | 2 GB | 2 TB | |
255 bytes | Any byte except NUL[22] | No limit defined[14] | 2 GB | 2 TB[23] | |
255 characters | Any Unicode except NUL and \ / : * ? " < > | | 32,767 Unicode characters with each path component (directory or filename) commonly up to 255 characters long[14] | 16 EB[24] | 16 EB[24] | |
255 UTF-16 code units[25] | Unlimited | 8 EB | |||
255 bytes | Any byte except NUL[13] | No limit defined[14] | 8 ZB | 8 ZB | |
255 bytes | Any byte except NUL[13] | No limit defined[14] | 226 TB | 226 TB | |
255 bytes | Any byte except NUL[13] | No limit defined[14] | 32 PB | 1 YB | |
255 bytes | Any byte except NUL[13] and / | No limit defined[14] | 2 TB[6] | 32 TB | |
255 bytes | Any byte except NUL[13] and / | No limit defined[14] | 2 TB[6] | 32 TB | |
256 bytes | Any byte except NUL[13] and / | No limit defined[14] | 1 EB (but user tools limited to 16 TB) | ||
255 bytes | Any byte except NUL[13] | No limit defined[14] | 320 TB (on ext4) | 1 YB (on ext4, 10 PB tested) | |
255 UTF-8 codepoints | Any byte except NUL[13] | No limit defined[14] | 512 YB | 512 YB (4 PB tested) | |
255 | Any byte except NUL[13] | No limit defined[14] | 8 EB[30] | 8 EB[30] | |
4,032 bytes/226 characters | Any byte except NUL[13] | No limit defined[14] | 8 TB[31] (v3.6), 2 GB (v3.5) | 16 TB | |
255 bytes | Any byte except NUL[13] | No limit defined[14] | 8 EB | 8 EB | |
3,976 bytes | Any byte except / and NUL | No limit defined[14] | 8 TB on x86 | Unknown | |
255 bytes | Any byte except NUL[13] | No limit defined[14] | 8 TB | 8 TB | |
255 bytes | Any byte except NUL[13] | No limit defined[14] | 4 PB | 4 PB | |
260 bytes | OS specific | 260 B | 4 GB | 2 TB | |
1,024 bytes | OS specific | 1024 bytes | 32 TB | 32 TB | |
255 bytes[32] | Any byte except NUL[13] | No limit defined[14] | 8 EB[33] | 8 EB[33] | |
255 bytes | Any byte except NUL[13] | No limit defined[14] | 8 EB | 4 PB | |
255 bytes | Any Unicode except NUL | No limit defined[14] | 4 PB | 32 PB | |
255 bytes | Any byte except NUL[13] | No limit defined[14] | 16 EB[34] | 4 PB[34] | |
255 bytes | Any byte except NUL[13] | No limit defined[14] | 260 GB[35] | 2 EB | |
226 characters | Any byte except NUL[13] | No limit defined[14] | 16 TB | 16 TB | |
226 characters | Depends on namespace used[36] | Only limited by client | 8 TB | 8 TB | |
80 bytes[37] | Depends on namespace used[36] | No limit defined[14] | 4 GB | 1 TB | |
236 bytes[38] | Unknown | 4,096 bytes[39] | 1 TB | 1 TB | |
255 bytes | Any byte except NUL[13] | No limit defined[14] | 256 TB | 256 TB | |
255 bytes | Any Unicode except NUL | 1,023 bytes[40] | 16 EB | Unknown | |
255 bytes | Any Unicode except NUL | No limit defined[14] | 16 EB | 16 EB | |
14 or 30 bytes, set at filesystem creation time | Any byte except NUL[13] | No limit defined[14] | 64 MB[41] | 64 MB[41] | |
14 or 30 bytes, set at filesystem creation time | Any byte except NUL[13] | No limit defined[14] | 4 GB[41] | 1 GB, then 2 TB[41] | |
60 bytes | Any byte except NUL[13] | No limit defined[14] | 4 GB | 16 TB[41] | |
128 | Any byte except NUL and /[13] | 2,048 | 4 TB[42] | 64 TB | |
128 | Any byte except NUL and /[13] | 2,048 | 2 TB[42] | 64 TB | |
Level 1: 8.3, Level 2 & 3: ~ 180 | Depends on Level[43] | ~ 180 bytes? | 4 GB (Level 1 & 2) to 8 TB (Level 3)[44] | 8 TB[45] | |
64 Unicode characters | Unknown | 4 GB (same as ISO 9660:1988) | 8 TB (same as ISO 9660:1988) | ||
Unknown (207?) | Unknown | Unknown | Unknown | Unknown | |
Unknown | Unknown | Unknown | Unknown | Unknown | |
Unknown | Unknown | Unknown | Unknown | 1 EB | |
255 bytes | Any byte except NUL | Unknown | 16 EB | 16 EB | |
Unknown | Unknown | Unknown | Unknown | Unknown | |
4,068 bytes[47] | case sensitive, in UTF-8 (any Unicode codepoint) | No limit defined | 8 EB | 8 EB | |
File system | Maximum filename length | Allowable characters in directory entries[5] | Maximum pathname length | Maximum file size | Maximum volume size[6] |
3. Metadata
File system | Stores file owner | POSIX file permissions | Creation timestamps | Last access/ read timestamps | Last content modification timestamps | Disk copy created | Last metadata change timestamps | Last archive timestamps | Security/ MAC labels | Checksum/ ECC | ||
No | No | No | No | No | No | No | No | No | No | No | No | |
CP/M file system | No | No | Yes[48] | No | Unknown | Unknown | No | No | No | No | No | No |
No | No | Yes | No | Unknown | Unknown | No | No | No | No | No | No | |
Elektronika BK tape format | No | No | No | No | Unknown | Unknown | No | No | No | No | No | Yes |
Yes | Yes | Yes | Yes | Unknown | Unknown | Yes | Yes | Yes | No | No | No | |
No | No | Yes | No | No | No | No | No | No | No | No | No | |
DOS (GEC) | Yes | No | Yes | Yes | Yes | Unknown | No | No | No | No | No | No |
Yes | No | Yes | Yes | Yes | Unknown | No | No | No | No | No | No | |
Yes | Yes | No | Yes | Yes | Unknown | Yes | No | No | No | No | No | |
Yes | Yes | No | Yes | Yes | Unknown | Yes | No | No | No | No | No | |
No[49] | No[50] | Partial[51] | Partial[51] | Yes | Yes | No[52] | No | No | No | No[53] | No | |
No[49] | No[50] | Partial[51] | Partial[51] | Yes | Yes | No[52] | No | No | No | No[53] | No | |
No | No | Partial[51] | Partial[51] | Yes | Yes | No[52] | No | No | No | No | No | |
No | No | Yes | Yes | Yes | No | Unknown | No | No | Unknown | Unknown | Partial | |
Yes[54] | No | Yes | Yes | Yes | Unknown | No | No | No | Unknown | Yes | No | |
Yes | Yes[55] | Yes | Yes | Yes | No | Yes | No | Yes | Yes[56] | Yes | No | |
No | No | Yes | No | Yes | No | No | Yes | No | No | Yes | No | |
Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes[57] | Yes | No | |
Yes | Yes | No | Yes | Yes | Unknown | Yes | No | No | No | No | No | |
Yes | Yes | No | Yes | Yes | Unknown | Yes | No | Yes[58] | Yes[58] | No[59] | No | |
Yes | Yes | Yes | Yes | Yes | Unknown | Yes | No | Yes[58] | Yes[58] | Yes | No | |
Yes | Yes | No | Yes | Yes | Unknown | Yes | No | No | No | No | No | |
Yes | Yes | No | Yes | Yes | Unknown | Yes | No | Yes[60] | Yes[60] | Yes | No | |
Yes | Yes | No | Yes | Yes | No | Yes | No | Yes[60] | Yes[60] | Yes | No | |
Yes | Yes | Yes | Yes | Yes | Unknown | Yes | No | Yes[60] | Yes[60] | Yes | Partial[61] | |
Yes | Yes | Partial[62] | Yes | Yes | No | Yes | No | Yes | Yes | Yes | ||
Yes | Yes | Yes | Yes | Yes | Unknown | Yes | No | Yes | Yes | Yes | Yes | |
Yes | Yes | No | Yes | Unknown | Unknown | Yes | No | Yes[60] | Yes[60] | Yes | No | |
Yes | Yes | Yes | No | Unknown | Unknown | Yes | No | No | No | No | Yes | |
Yes | Yes | No | Yes | Yes | No | No | No | No | No | No | No | |
Yes | Yes | No | Yes | Yes | Unknown | Yes | No | No | No | No | No | |
No | Yes | No | No | Unknown | Unknown | Yes | Yes | No | No | No | No | |
Yes | Yes | No | Yes | Unknown | Unknown | Yes | No | Yes | No | Yes | Partial[65] | |
No | No | Yes | No | Yes | No | No | No | No | No | No | Partial[66] | |
Linux port | Linux port | Yes | Yes | Yes | No | No | No | Linux port | No | Yes | Partial[66] | |
Yes | Yes | No | Yes | Yes | Unknown | Yes | No | Yes | Yes[60] | Yes | No | |
Yes | Yes | Yes | Yes | Yes | Unknown | Yes | No | Yes | Yes | Yes | No | |
Yes | Yes | Yes | Yes | Unknown | Unknown | Yes | Yes | Yes | No | Yes | No | |
Yes | Yes | Yes | No | Unknown | Unknown | No | No | No | No | Yes | No | |
Yes | Yes | No | Yes | Yes | Unknown | Yes | No | Yes | No | Yes | No | |
Yes | Yes | Yes[67] | Yes[67] | Unknown | Unknown | Yes | Yes[67] | Yes | Unknown | No | ||
Yes | Unknown | Yes[67] | Yes[67] | Unknown | Unknown | Yes | Yes[67] | Yes | Unknown | No | ||
Yes | Yes | Yes | Unknown | Unknown | Unknown | Unknown | Yes | Yes | Unknown | Yes[70] | No | |
Yes | Yes | Yes | Yes | Yes | Unknown | Yes | No | Yes | Unknown | Yes[60] | No | |
Yes | Yes | Yes | Yes | Unknown | Unknown | Yes | Yes | Yes | No | Yes | No | |
Yes | Yes[71] | No | Yes | Unknown | Unknown | Yes | No | No | No | No | No | |
Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | Yes | Yes[72] | Yes[73] | Yes | |
Yes | Yes | No | Yes | Unknown | Unknown | Yes | No | No | No | No | No | |
Yes | Yes | No | Yes | Unknown | Unknown | Yes | No | No | No | No | No | |
No | No | Yes[74] | No[75] | Yes[76] | Unknown | No | No | No | No | No | No | |
No | No | Yes[74] | No[75] | Yes[76] | Unknown | No | No | No | No | No | No | |
No | No | Yes | No | Unknown | Unknown | No | No | No | No | No | No | |
No | No | Yes | No | Unknown | Unknown | No | No | No | No | No | No | |
Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Unknown | Yes | Unknown | Yes | Yes | |
File system | Stores file owner | POSIX file permissions | Creation timestamps | Last access/read timestamps | Last content modification timestamps | Disk copy created | Last metadata change timestamps | Last archive timestamps | Security/ MAC labels | Checksum/ ECC |