Komputer Sains    
   
Daftar Isi
(Sebelumnya) X.690Comparison of HTML parsers (Berikutnya)

Perbandingan -- file systems

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

Contents

General information

File systemCreatorYear
introduced
Original operating system
DECtapeDEC1964PDP-6 Monitor
Level-DDEC1968TOPS-10
George 2ICT (later ICL)1968George 2
V6FSBell Labs1972Version 6 Unix
ODS-1DEC1972RSX-11
RT-11 file systemDEC1973RT-11
DOS (GEC)GEC1973Core Operating System
CP/M file systemGary Kildall1974CP/M
OS4000GEC1977OS4000
FAT (8-bit)Marc McDonald, Microsoft1977Microsoft Disk BASIC
DOS 3.xApple Computer1978Apple DOS
PascalApple Computer1978Apple Pascal
CBM DOSCommodore1978Microsoft BASIC (for CBM PET)
V7FSBell Labs1979Version 7 Unix
ODS-2DEC1979OpenVMS
FAT12Tim Paterson1980QDOS, 86-DOS
AFSCarnegie Mellon University1982Multiplatform MultoOS
DFSAcorn Computers Ltd1982Acorn BBC Micro MOS
ADFSAcorn Computers Ltd1983Acorn Electron (later Arthur RISC OS)
FFSKirk McKusick19834.2BSD
ProDOSApple Computer1983ProDOS 8
MFSApple Computer1984Mac OS
FAT16Microsoft1984MS-DOS 3.0
Elektronika BK tape formatNPO "Scientific centre" (now Sitronics)1985Vilnius Basic, BK monitor program
HFSApple Computer1985Mac OS
Amiga OFS[15]Metacomco for Commodore1985Amiga OS
High SierraEcma International1985MS-DOS, Mac OS
NWFSNovell1985NetWare 286
FAT16BCompaq1987Compaq MS-DOS 3.31, DR DOS 3.31
MINIX V1 FSAndrew S. Tanenbaum1987MINIX 1.0
Amiga FFSCommodore1988Amiga OS 1.3
HPFSIBM & Microsoft1988OS/2
ISO 9660:1988Ecma International, Microsoft1988MS-DOS, Mac OS, and AmigaOS
JFS1IBM1990AIX[1]
VxFSVERITAS, (now Symantec)1991AIX, HP-UX, Solaris, Linux
extRémy Card1992Linux
WAFLNetApp1992Data ONTAP
MINIX V2 FSAndrew S. Tanenbaum1992MINIX 1.6 and 2.0
AdvFSDEC1993[2]Digital Unix
NTFS Version 1.0Microsoft, Tom Miller, Gary Kimura1993Windows NT 3.1
LFSMargo Seltzer1993Berkeley Sprite
ext2Rémy Card1993Linux, Hurd
UFS1Kirk McKusick19944.4BSD
XFSSGI1994IRIX, Linux, FreeBSD
HFS (Hierarchical File System)IBM1994MVS/ESA (now z/OS)
Rock RidgeYoung Minds Inc.1994Linux, Mac OS, Amiga OS, and FreeBSD
Joliet ("CDFS")Microsoft1995Microsoft Windows, Linux, Mac OS, and FreeBSD
PFSMichiel Pelt1996AmigaOS
RomeoAdaptec1996Microsoft Windows
UDFISO/ECMA/OSTA1995-
FAT32Microsoft1996Windows 95b[3]
QFSLSC Inc, Sun Microsystems1996Solaris
GPFSIBM1996AIX, Linux, Windows
Be File SystemBe Inc., D. Giampaolo, C. Meurillon1996BeOS
HFS PlusApple Computer1998Mac OS 8.1
NSSNovell1998NetWare 5
PolyServe File System (PSFS)PolyServe1998Windows, Linux
ODS-5DEC1998OpenVMS 7.2
SFSJohn Hendrikx1998AmigaOS, AROS, MorphOS
ext3Stephen Tweedie1999Linux
ISO 9660:1999Ecma International, Microsoft1999Microsoft Windows, Linux, Mac OS X, FreeBSD, and AmigaOS
JFSIBM1999OS/2 Warp Server for e-business
GFSSistina (Red Hat)2000Linux
Melio FSSanbolic2001Windows
NTFS Version 3.1Microsoft2001Windows XP
ReiserFSNamesys2001Linux
zFSIBM2001z/OS (backported to OS/390)
FATXMicrosoft2002Xbox
UFS2Kirk McKusick2002FreeBSD 5.0
LustreCluster File Systems (later Oracle Corporation)2002Linux
OCFSOracle Corporation2002Linux
VMFS2VMware2002VMware ESX Server 2.0
ext3cowZachary Peterson2003Linux
FossilBell Labs2003Plan 9 from Bell Labs 4
Google File SystemGoogle2003Linux
PramFSMontaVista2003Linux
Reliance[4]Datalight2003Windows CE, VxWorks, custom ports
VxCFSVERITAS, (now Symantec)2004AIX, HP-UX, Solaris, Linux
ZFSSun Microsystems2004Solaris, FreeBSD, PC-BSD, FreeNAS
Reiser4Namesys2004Linux
Non-Volatile File SystemPalm, Inc.2004Palm OS Garnet
MINIX V3 FSAndrew S. Tanenbaum2005MINIX 3
OCFS2Oracle Corporation2005Linux
NILFSNTT2005Linux, (ReadOnly for NetBSD)
VMFS3VMware2005VMware ESX Server 3.0
GFS2Red Hat2006Linux
ext4Various2006Linux
exFATMicrosoft2006, 2009Windows CE 6.0, Windows XP SP3, Windows Vista SP1
TexFAT/TFATMicrosoft2006Windows CE 6.0
BtrfsOracle Corporation2007Linux
HAMMERMatthew Dillon2008Dragonfly BSD
Tux3Various2008Linux
UBIFSNokia with help of University of Szeged2008Linux
Oracle ACFSOracle Corporation2009Linux - Red Hat Enterprise Linux 5 and Oracle Enterprise Linux 5 only
Reliance Nitro[4]Datalight2009Windows CE, Windows Mobile, VxWorks, Linux, custom ports
LTFSIBM2010Linux, Mac OS X, planned Microsoft Windows,
IlesfayFSIlesfay Technology Group2011Microsoft Windows, planned Red Hat Enterprise Linux
VMFS5VMware2011VMware ESXi 5.0tux 3 stats
ReFSMicrosoft2012, 2013Windows 2012 Server
Lanyard FilesystemDan Luedtke2012Linux
F2FSSamsung2012Linux
File systemCreatorYear
introduced
Original operating system

Limits

File systemMaximum filename lengthAllowable characters in directory entries[5]Maximum pathname lengthMaximum file sizeMaximum volume size[6]
Acorn ADFS700113000000000000010 bytes7002115000000000000Any ISO 8859-1 character except: SPACE $ & % @ \ ^ : . # * " ¦No limit defined7009409600000000000512 MB or 70103200000000000004 GB[7]7009409600000000000512 MB or 70103200000000000004 GB[8]
Apple DOS 3.x700130000000000000030 bytes7002255000000000000Any byte except NUL700224000000000000030 B, no subdirectories (105 files per disk)Unknown7005910000000000000113.75 kB DOS 3.1, 3.2
7006112000000000000140 kB DOS 3.3 (assuming standard 35 tracks)
Apple ProDOS700115000000000000015 bytes7001630000000000000A-Z, a-z, 0-9, and periodUnknown700812800000000000016 MB700825600000000000032 MB
CP/M file system70011100000000000008.3any byte except: SPACE < > . , ; : = ? * [ ] % | ( ) / \[9]16 "user areas", no subdirectories70076400000000000008 MB[10]70076400000000000008 MB to 512 MB[10]
IBM SFS70011600000000000008.8UnknownNon-hierarchical[11]UnknownUnknown
DECtape70009000000000000006.37001360000000000000A–Z, 0–9DTxN:FILNAM.EXT = 157006295424000000000369,280 B (577 * 640)7006295936000000000369,920 B (578 * 640)
Elektronika BK tape format700116000000000000016 bytesUnknownNon-hierarchical700551200000000000064 kBNot limited. Approx. 800 kB (one side) for 90 min cassette
MicroDOS file system700114000000000000014 bytesUnknownUnknown700812800000000000016 MB700825600000000000032 MB
Level-D70009000000000000006.37001360000000000000A–Z, 0–9DEVICE:FILNAM.EXT[PROJCT,PROGRM] = 7 + 10 + 15 = 32; + 5*7 for SFDs = 67701119200000000000024 GB (34,359,738,368 words (235-1); 206,158,430,208 SIXBIT bytes)701096000000000000012 GB (approx; 64 * 178 MB)
RT-1170009000000000000006.37001370000000000000A–Z, 0–9, $Non-hierarchical700825600000000000032 MB (65536 * 512)700825600000000000032 MB
V6FS700114000000000000014 bytes[12]7002254000000000000Any byte except NUL and /[13]No limit defined[14]700812800000000000016 MB[15]70131600000000000002 TB
DOS (GEC)70008000000000000008 bytes7001360000000000000A–Z, 0–9Non-hierarchical700851200000000000064 MB700851200000000000064 MB
OS400070008000000000000008 bytes7001360000000000000A–Z, 0–9
Period is directory separator
No limit defined[14]70101600000000000002 GB70098000000000000001 GB (at least)
CBM DOS700116000000000000016 bytes7002255000000000000Any byte except NULNon-hierarchical700812800000000000016 MB700812800000000000016 MB
V7FS700114000000000000014 bytes[12]7002254000000000000Any byte except NUL and /[13]No limit defined[14]70098000000000000001 GB[16]70131600000000000002 TB
exFAT7002510000000000000255 characters[17]7006111411100000000Any Unicode except NULNo limit defined7018101600000000000127 PB702351200000000000064 ZB, 512 TB recommended[18]
TexFAT7002494000000000000247 characters7006111411100000000Any Unicode except NULNo limit defined70101600000000000002 GB7012400000000000000500 GB Tested[19]
FAT1270011100000000000008.3 (255 UTF-16 code units with LFN)[12]7006111411100000000Any byte except for values 0-31, 127 (DEL) and: " * / : < > ? \ | + , . ; = [] (lowcase a-z are stored as A-Z). With VFAT LFN any Unicode except NUL[12][13]No limit defined[14]700825600000000000032 MB (7009204800000000000256 MB)700825600000000000032 MB (7009204800000000000256 MB)
FAT1670011100000000000008.3 (255 UTF-16 code units with LFN)[12]7006111411100000000Any byte except for values 0-31, 127 (DEL) and: " * / : < > ? \ | + , . ; = [] (lowcase a-z are stored as A-Z). With VFAT LFN any Unicode except NUL[12][13]No limit defined[14]70101600000000000002 GB (70103200000000000004 GB)70101600000000000002 GB or 4 GB
FAT3270011100000000000008.3 (255 UTF-16 code units with LFN)[12]7006111411100000000Any byte except for values 0-31, 127 (DEL) and: " * / : < > ? \ | + , . ; = [] (lowcase a-z are stored as A-Z). With VFAT LFN any Unicode except NUL[12][13]No limit defined[14]70103200000000000004 GB (7012204800000000000256 GB[20])70131600000000000002 TB[21] (701412800000000000016 TB)
FATX700142000000000000042 bytes[12]7002108000000000000ASCII. Unicode not permitted.No limit defined[14]70101600000000000002 GB70101600000000000002 GB
FossilUnknownUnknownUnknownUnknownUnknown
MFS7002255000000000000255 bytes7002255000000000000Any byte except :No path (flat filesystem)7009180800000000000226 MB7009180800000000000226 MB
HFS700131000000000000031 bytes7002255000000000000Any byte except :[22]Unlimited70101600000000000002 GB70131600000000000002 TB
HPFS7002255000000000000255 bytes7002255000000000000Any byte except NUL[23]No limit defined[14]70101600000000000002 GB70131600000000000002 TB[24]
NTFS7002510000000000000255 characters[25][26][27]7006111410200000000Depends on namespace used[25][26][27][28]32,767 Unicode characters with each path component (directory or filename) commonly up to 255 characters long[14]702012800000000000016 EB[29]702012800000000000016 EB[29]
ReFS7001640000000000000255 unicode characters [30]Unknown700525600000000000032 kB702012800000000000016 EB7002256000000000000Format supports 256ZB with 16kB cluster size (2^64 * 16 * 2^10). Windows stack addressing allows 16EB
HFS Plus7002510000000000000255 UTF-16 code units[31]7006111411200000000Any valid Unicode[13][32]Unlimited70196400000000000008 EB70196400000000000008 EB[33][34]
FFS7002255000000000000255 bytes7002255000000000000Any byte except NUL[13]No limit defined[14]70226400000000000008 ZB70226400000000000008 ZB
UFS17002255000000000000255 bytes7002255000000000000Any byte except NUL[13]No limit defined[14]7015180800000000000226 TB7015180800000000000226 TB
UFS27002255000000000000255 bytes7002255000000000000Any byte except NUL[13]No limit defined[14]701725600000000000032 PB70248000000000000001 YB
ext27002255000000000000255 bytes7002254000000000000Any byte except NUL[13] and /No limit defined[14]70131600000000000002 TB[6]701425600000000000032 TB
ext37002255000000000000255 bytes7002254000000000000Any byte except NUL[13] and /No limit defined[14]70131600000000000002 TB[6]701425600000000000032 TB
ext3cow7002255000000000000255 bytes7002254000000000000Any byte except NUL,[13] / and @No limit defined[14]70131600000000000002 TB[6]701425600000000000032 TB
ext47002255000000000000255 bytes7002254000000000000Any byte except NUL[13] and /No limit defined[14]701412800000000000016 TB[6][35]70188000000000000001 EB[36]
Lustre7002255000000000000255 bytes7002255000000000000Any byte except NUL[13] and /No limit defined[14]701725600000000000032 PB (on ext4)70248000000000000001 YB (on ext4, 20 PB tested)
GPFS7002255000000000000255 UTF-8 codepoints7002255000000000000Any byte except NUL[13]No limit defined[14]7027409600000000000512 YB7027409600000000000512 YB (4 PB tested)
GFS70022550000000000002557002255000000000000Any byte except NUL[13]No limit defined[14]70196400000000000008 EB[37]70196400000000000008 EB[37]
ReiserFS70034032000000000004,032 bytes/226 characters7002255000000000000Any byte except NUL[13]No limit defined[14]70136400000000000008 TB[38] (v3.6), 2 GB (v3.5)701412800000000000016 TB
NILFS7002255000000000000255 bytes7002255000000000000Any byte except NUL[13]No limit defined[14]70196400000000000008 EB70196400000000000008 EB
Reiser470033976000000000003,976 bytes7002254000000000000Any byte except / and NULNo limit defined[14]70136400000000000008 TB on x86Unknown
OCFS7002255000000000000255 bytes7002255000000000000Any byte except NUL[13]No limit defined[14]70136400000000000008 TB70136400000000000008 TB
OCFS27002255000000000000255 bytes7002255000000000000Any byte except NUL[13]No limit defined[14]70163200000000000004 PB70163200000000000004 PB
Reliance7002260000000000000260 bytesOS specific7003208000000000000260 B70103200000000000004 GB70131600000000000002 TB
Reliance Nitro70031024000000000001,024 bytesOS specific1024 bytes701425600000000000032 TB701425600000000000032 TB
JFS17002255000000000000255 bytes7002255000000000000Any byte except NUL[13]No limit defined[14]70196400000000000008 EB70163200000000000004 PB
JFS7002255000000000000255 bytes7006111411100000000Any Unicode except NULNo limit defined[14]70163200000000000004 PB701725600000000000032 PB
QFS7002255000000000000255 bytes7002254000000000000Any byte except NUL[13]No limit defined[14]702012800000000000016 EB[39]70163200000000000004 PB[39]
BFS7002255000000000000255 bytes7002255000000000000Any byte except NUL[13]No limit defined[14]7012208000000000000260 GB[40]70191600000000000002 EB
AdvFS7002226000000000000226 characters7002255000000000000Any byte except NUL[13]No limit defined[14]701412800000000000016 TB701412800000000000016 TB
NSS7002226000000000000226 charactersDepends on namespace used[41]Only limited by client70136400000000000008 TB70136400000000000008 TB
NWFS700180000000000000080 bytes[42]Depends on namespace used[41]No limit defined[14]70103200000000000004 GB70128000000000000001 TB
ODS-57002236000000000000236 bytes[43]Unknown4,096 bytes[44]70131600000000000002 TB70131600000000000002 TB
VxFS7002255000000000000255 bytes7002255000000000000Any byte except NUL[13]No limit defined[14]7015204800000000000256 TB7015204800000000000256 TB
UDF7002255000000000000255 bytes7006111411100000000Any Unicode except NUL1,023 bytes[45]702012800000000000016 EB70131600000000000002 TB (hard disk), 8 TB (optical disc)[46]
MINIX V1 FS700130000000000000014 or 30 bytes, set at filesystem creation time7002255000000000000Any byte except NUL[13]No limit defined[14]700851200000000000064 MB[47]700851200000000000064 MB[47]
MINIX V2 FS700130000000000000014 or 30 bytes, set at filesystem creation time7002255000000000000Any byte except NUL[13]No limit defined[14]70103200000000000004 GB[47]70098000000000000001 GB, then 2 TB[47]
MINIX V3 FS700160000000000000060 bytes7002255000000000000Any byte except NUL[13]No limit defined[14]70103200000000000004 GB701412800000000000016 TB[47]
VMFS270021280000000000001287002254000000000000Any byte except NUL and /[13]2,04870133200000000000004 TB[48]701451200000000000064 TB
VMFS370021280000000000001287002254000000000000Any byte except NUL and /[13]2,04870131600000000000002 TB[48]701451200000000000064 TB
ISO 9660:19887001110000000000000Level 1: 8.3,
Level 2 & 3: ~ 180
Depends on Level[49]~ 180 bytes?70103200000000000004 GB (Level 1 & 2) to 8 TB (Level 3)[50]70136400000000000008 TB[51]
Joliet ("CDFS")700212800000000000064 Unicode characters7006111205800000000All UCS-2 code except * / \ : ; and ?[52]Unknown70103200000000000004 GB (same as ISO 9660:1988)70136400000000000008 TB (same as ISO 9660:1988)
ISO 9660:1999Unknown (207?)UnknownUnknownUnknownUnknown
High SierraUnknownUnknownUnknownUnknownUnknown
HAMMERUnknownUnknownUnknownUnknown70188000000000000001 EB
LTFSUnknownUnknownUnknownUnknownUnknown
PramFS700131000000000000031 bytes7001310000000000000Any byte except NULUnknown70098000000000000001 GB70196400000000000008 EB
Lanyard Filesystem7002255000000000000255 bytesAny byte except NUL and /[13]No limit defined702351200000000000064 ZB7006102400000000000128 kB to 702351200000000000064 ZB[53]
LEAN70034068000000000004,068 bytes[54]7006111411200000000case sensitive, in UTF-8 (any Unicode codepoint)No limit defined70196400000000000008 EB70196400000000000008 EB
XFS7002255000000000000255 bytes[55]7002255000000000000Any byte except NUL[13]No limit defined[14]70196400000000000008 EB[56]70196400000000000008 EB[56]
ZFS7002255000000000000255 bytes7006111411100000000Any Unicode except NULNo limit defined[14]702012800000000000016 EB702012800000000000016 EB
Btrfs7002255000000000000255 bytes7002255000000000000Any byte except NULUnknown702012800000000000016 EB702012800000000000016 EB
File systemMaximum filename lengthAllowable characters in directory entries[5]Maximum pathname lengthMaximum file sizeMaximum volume size[6]

Metadata

File systemStores file ownerPOSIX file permissionsCreation timestampsLast access/ read timestampsLast content modification timestampsDisk copy createdLast metadata change timestampsLast archive timestampsAccess control listsSecurity/ MAC labelsExtended attributes/ Alternate data streams/ forksChecksum/ ECCMax Timestamp Granularity
CBM DOSNoNoNoNoNoNoNoNoNoNoNoNoUnknown
CP/M file systemNoNoYes[57]NoUnknownUnknownNoNoNoNoNoNoUnknown
DECtapeNoNoYesNoUnknownUnknownNoNoNoNoNoNoUnknown
Elektronika BK tape formatNoNoNoNoUnknownUnknownNoNoNoNoNoYesUnknown
Level-DYesYesYesYesUnknownUnknownYesYesYesNoNoNoUnknown
RT-11NoNoYesNoNoNoNoNoNoNoNoNoUnknown
DOS (GEC)YesNoYesYesYesUnknownNoNoNoNoNoNoUnknown
OS4000YesNoYesYesYesUnknownNoNoNoNoNoNoUnknown
V6FSYesYesNoYesYesUnknownYesNoNoNoNoNoUnknown
V7FSYesYesNoYesYesUnknownYesNoNoNoNoNoUnknown
FAT12No[58]No[59]Partial[60]Partial[60]YesYesNo[61]NoNoNoNo[62]No10 milliseconds
FAT16No[58]No[59]Partial[60]Partial[60]YesYesNo[61]NoNoNoNo[62]No10 milliseconds
FAT32NoNoPartial[60]Partial[60]YesYesNo[61]NoNoNoNoNo10 milliseconds
exFATNoNoYesYesYesNoUnknownNoNoUnknownUnknownPartial10 milliseconds
HPFSYes[63]NoYesYesYesUnknownNoNoNoUnknownYesNoUnknown
NTFSYesYes[64]YesYesYesNoYesNoYesYes[65]YesNo100 nanoseconds
HFSNoNoYesNoYesNoNoYesNoNoYesNoUnknown
HFS PlusYesYesYesYesYesNoYesYesYesYes[66]YesNo1 second
FFSYesYesNoYesYesUnknownYesNoNoNoNoNoUnknown
UFS1YesYesNoYesYesUnknownYesNoYes[67]Yes[67]No[68]NoUnknown
UFS2YesYesYesYesYesUnknownYesNoYes[67]Yes[67]YesNoUnknown
LFSYesYesNoYesYesUnknownYesNoNoNoNoNoUnknown
ext2YesYesNoYesYesUnknownYesNoYes[69]Yes[69]YesNo1 second
ext3YesYesNoYesYesNoYesNoYes[69]Yes[69]YesNo1 second
ext3cowYesYesNoYesYesNoYesNoYes[69]Yes[69]YesNo1 second
ext4YesYesYesYesYesUnknownYesNoYes[69]Yes[69]YesPartial[70]1 nanosecond
LustreYesYesPartial[71]YesYesNoYesNoYesYesYesPartial[72][73]Unknown
GPFSYesYesYesYesYesUnknownYesNoYesYesYesYesUnknown
GFSYesYesNoYesUnknownUnknownYesNoYes[69]Yes[69]YesNoUnknown
NILFSYesYesYesNoUnknownUnknownYesNoPlannedNoPlannedYesUnknown
ReiserFSYesYesNoYesYesNoNoNoNoNoNoNoUnknown
Reiser4YesYesNoYesYesUnknownYesNoNoNoNoNoUnknown
OCFSNoYesNoNoUnknownUnknownYesYesNoNoNoNoUnknown
OCFS2YesYesNoYesUnknownUnknownYesNoYesNoYesPartial[74]Unknown
RelianceNoNoYesNoYesNoNoNoNoNoNoPartial[75]Unknown
Reliance NitroLinux portLinux portYesYesYesNoNoNoLinux portNoYesPartial[75]Unknown
XFSYesYesNoYesYesUnknownYesNoYesYes[69]YesNo1 nanosecond
JFSYesYesYesYesYesUnknownYesNoYesYesYesNoUnknown
QFSYesYesYesYesUnknownUnknownYesYesYesNoYesNoUnknown
BFSYesYesYesNoUnknownUnknownNoNoNoNoYesNoUnknown
AdvFSYesYesNoYesYesUnknownYesNoYesNoYesNoUnknown
NSSYesYesYes[76]Yes[76]UnknownUnknownYesYes[76]YesUnknownYes[77][78]NoUnknown
NWFSYesUnknownYes[76]Yes[76]UnknownUnknownYesYes[76]YesUnknownYes[77][78]NoUnknown
ODS-5YesYesYesUnknownUnknownUnknownUnknownYesYesUnknownYes[79]NoUnknown
VxFSYesYesYesYesYesUnknownYesNoYesUnknownYes[69]NoUnknown
UDFYesYesYesYesUnknownUnknownYesYesYesNoYesNoUnknown
FossilYesYes[80]NoYesUnknownUnknownYesNoNoNoNoNoUnknown
ZFSYesYesYesYesYesUnknownYesYesYesYes[81]Yes[82]YesUnknown
VMFS2YesYesNoYesUnknownUnknownYesNoNoNoNoNoUnknown
VMFS3YesYesNoYesUnknownUnknownYesNoNoNoNoNoUnknown
ISO 9660:1988NoNoYes[83]No[84]Yes[85]UnknownNoNoNoNoNoNoUnknown
Joliet ("CDFS")NoNoYes[83]No[84]Yes[85]UnknownNoNoNoNoNoNoUnknown
ISO 9660:1999NoNoYesNoUnknownUnknownNoNoNoNoNoNoUnknown
High SierraNoNoYesNoUnknownUnknownNoNoNoNoNoNoUnknown
BtrfsYesYesYesYesYesUnknownYesUnknownYesYesYesYes1 nanosecond
Lanyard FilesystemNoNoYesNoYesNoYesNoNoNoNoNo1 nanosecond
PramFSYesYesNoYesYesUnknownYesNoYesYesYesYes1 second
File systemStores file ownerPOSIX file permissionsCreation timestampsLast access/read timestampsLast content modification timestampsDisk copy createdLast metadata change timestampsLast archive timestampsAccess control listsSecurity/ MAC labelsExtended attributes/ Alternate data streams/ forksChecksum/ ECCMax Timestamp Granularity

Features

File systemHard linksSymbolic linksBlock journalingMetadata-only journalingCase-sensitiveCase-preservingFile Change LogSnapshotXIPEncryptionCOWintegrated LVMData deduplicationVolumes are resizeable
Lanyard FilesystemNoNoNoNoYesYesNoNoNoNoNoNoNoOffline (cannot be shrunk)
CBM DOSNoNoNoNoYesYesNoNoNoNoNoNoNoNo
CP/M file systemNoNoNoNoNoNoNoNoNoNoNoNoNoUnknown
DECtapeNoNoNoNoNoNoNoNoNoNoNoNoNoUnknown
Level-DNoNoNoNoNoNoNoNoNoNoUnknownUnknownUnknownUnknown
RT-11NoNoNoNoNoNoNoNoNoNoNoNoNoUnknown
DOS (GEC)NoNoNoNoNoNoNoNoNoNoNoNoNoUnknown
OS4000NoYes[86]NoNoNoNoNoNoNoNoNoNoNoUnknown
V6FSYesNoNoNoYesYesNoNoNoNoNoNoNoUnknown
V7FSYesNo[87]NoNoYesYesNoNoNoNoNoNoNoUnknown
FAT12NoNoNoNoNoPartialNoNoNoNoNoNoNoOffline[88]
FAT16NoNoNoNoNoPartialNoNoNoNoNoNoNoOffline[88]
FAT32NoNoNoNoNoPartialNoNoNoNoNoNoNoOffline[88]
exFATNoNoUnknownNoNoYesNoUnknownUnknownNoUnknownUnknownUnknownUnknown
GFSYesYes[89]YesYes[90]YesYesNoNoNoNoUnknownUnknownUnknownOnline
GPFSYesYesUnknownUnknownYesYesYesYesYesNoYesYesNoOnline
HAMMERYesYesUnknownUnknownYesYesUnknownYesUnknownUnknownUnknownUnknownOn demandUnknown
HPFSNoNoNoNoNoYesNoUnknownNoNoUnknownUnknownNoUnknown
NTFSYesYes[91]No[92]Yes[92]Yes[93]YesYesPartial[94]YesYesPartialUnknownYes (Windows Server 2012)[95]Online[96]
HFSNoYes[97]NoNoNoYesNoNoNoNoNoNoNoUnknown
HFS PlusYes[98]YesNoYes[99]Partial[100]YesYes[101]NoNoYes[102]NoNoNoYes[103]
FFSYesYesNoNo[104]YesYesNoNoNoNoNoNoNoOffline (cannot be shrunk)[105]
UFS1YesYesNoNoYesYesNoNoNoNoNoNoNoUnknown
UFS2YesYesNoNo[106][107]YesYesNoYesUnknownNoNoNoNoOffline (cannot be shrunk)[108]
LFSYesYesYes[109]NoYesYesNoNoNoNoUnknownUnknownUnknownUnknown
ext2YesYesNoNoYesYesNoNoYes[110]NoNoNoNoOnline[111]
ext3YesYesYes[112]YesYesYesNoNoYesYesNoNoNoOnline[111]
ext3cowYesYesYes[112]YesYesYesUnknownYesUnknownYesYesNoNoUnknown
ext4YesYesYes[112]YesYesYesNoNoYesYesNoNoNoOnline[111]
LustreYesYesYes[112]YesYesYesYes in 2.0 and laterNo[73]NoNoNo[73]No[73]No[73]Online[113]
NILFSYesYesYes[109]NoYesYesYesYesNoNoYesUnknownUnknownOnline (since Linux-3.x and nilfs-utils 2.1)
ReiserFSYesYesNo[114]YesYesYesNoNoNoNoNoNoNoOnline
Reiser4YesYesYesNoYesYesNoUnknownNoYes[115]YesNoUnknownOnline (can only be shrunk offline)
OCFSNoYesNoNoYesYesNoNoNoNoUnknownUnknownUnknownUnknown
OCFS2YesYesYesYesYesYesNoPartial[116]NoNoUnknownNoNoOnline for version 1.4 and higher
RelianceNoNoNo[117]NoNoYesNoNoNoNoYesNoNoUnknown
Reliance NitroYesYesNo[117]NoDepends on OSYesNoNoNoNoYesNoNoUnknown
XFSYesYesYesYesYes[118]YesNoNoNoNoNoNoNoOnline (cannot be shrunk)
JFSYesYesNoYesYes[119]YesNoYesNoNoNoUnknownUnknownOnline (cannot be shrunk)[120]
QFSYesYesNoYesYesYesNoNoNoNoUnknownUnknownUnknownUnknown
Be File SystemYesYesNoYesYesYesUnknownNoNoNoNoNoNoUnknown
NSSYesYesUnknownYesYes[121]Yes[121]Yes[122]YesNoYesUnknownUnknownUnknownUnknown
NWFSYes[123]Yes[123]NoNoYes[121]Yes[121]Yes[122]UnknownNoNoNoYes[124]UnknownUnknown
ODS-2YesYes[125]NoYesNoNoYesYesNoNoUnknownUnknownUnknownUnknown
ODS-5YesYes[125]NoYesNoYesYesYesUnknownNoUnknownUnknownUnknownUnknown
UDFYesYesYes[109]Yes[109]YesYesNoNoYesNoNoNoNoUnknown
VxFSYesYesYesNoYesYesYesYes[126]UnknownNoUnknownUnknownYesUnknown
FossilNoNoNoNoYesYesYesYesNoNoUnknownNoYes[127]Unknown
ZFSYesYesYes[128]No[128]YesYesNoYesNoYesYesYesYesOnline (cannot be shrunk)[129]
VMFS2YesYesNoYesYesYesNoNoNoNoUnknownUnknownUnknownUnknown
VMFS3YesYesNoYesYesYesNoNoNoNoUnknownUnknownUnknownUnknown
BtrfsYesYesNoNoYesYesYesYesNoPlanned[130]YesYesWork-in-ProgressOnline
PramFSNoYesNoNoYesYesNoNoYesNoNoNoNoNo
File systemHard linksSymbolic linksBlock journalingMetadata-only journalingCase-sensitiveCase-preservingFile Change LogSnapshottingXIPEncryptionCOWintegrated LVMData deduplicationVolumes are resizeable

Allocation and layout policies

File systemBlock suballocationVariable file block size[131]ExtentsAllocate-on-flushSparse filesTransparent compression
CBM DOSNoPartial[132]NoNoNoNo
CP/M filesystemNoNoYesNoYesNo
BtrfsPartial[133]NoYesYesYesYes
DECtapeNoNoNoNoNoNo
Level-DYesNoYesNoNoNo
DOS (GEC)NoYesYesNoNoNo
OS4000NoYesYesNoNoNo
V6FSNoNoNoNoYesNo
V7FSNoNoNoNoYesNo
FAT12NoNoNoNoNoNo[134]
FAT16NoNoNoNoNoNo[134]
FAT32NoNoNoNoNoNo
exFATUnknownNoNoUnknownNoNo
GFSPartial[135]NoNoNoYesNo
HPFSNoNoYesNoNoNo
NTFSPartialNoYesNoYesPartial[136]
HFS PlusNoNoYesYesNoYes
FFS8:1[137]NoNoNoYesNo
UFS18:1[137]NoNoNoYesNo
UFS28:1[137]YesNoNoYesNo
LFS8:1[137]NoNoNoYesNo
ext2No[138]NoNoNoYesNo[139]
ext3No[138]NoNoNoYesNo
ext3cowNo[138]NoNoNoYesNo
ext4No[138]NoYesYesYesNo
LustreNoNoYesYesYesNo
NILFSNoNoNoYesYesNo
ReiserFSYesNoNoNoYesNo
Reiser4YesNoYes[140]YesYesYes[115]
OCFSNoNoYesNoUnknownNo
OCFS2NoNoYesNoYesNo
RelianceNoNoNoNoNoNo
Reliance NitroNoNoYesNoYesNo
XFSNoNoYesYesYesNo
JFSYesNoYesNoYesonly in JFS1 on AIX[141]
QFSYesNoNoNoUnknownNo
BFSNoNoYesNoUnknownNo
NSSNoNoYesNoUnknownYes
NWFSYes[142]NoNoNoUnknownYes
ODS-5NoNoYesNoUnknownNo
VxFSUnknownNoYesNoYesNo
UDFNoNoYesDepends[143]NoNo
FossilNoNoNoNoUnknownYes
VMFS2YesNoNoNoYesNo
VMFS3YesNoYesNoYesNo
ZFSPartial[144]YesNoYesYesYes
PramFSNoNoNoNoYesNo
File systemBlock suballocationVariable file block size[131]ExtentsAllocate-on-flushSparse filesTransparent compression

Supporting operating systems

File systemDOSWindows 9xWindows NTLinuxMac OSMac OS XFreeBSDBeOSSolarisAIXz/OSOS/2Windows CEWindows MobileVxWorksHP-UX
FAT12YesYesYesYesYesYesYesYesNoPartial on diskettes only, through dos* commandsUnknownYesYes[145]UnknownYes[146]Unknown
FAT16Yes since DOS 3.0, FAT16B since DOS 3.31YesYesYesYesYesYesYesYesPartial on diskettes only, through dos* commandsUnknownYesYes[145]YesYes[146]Unknown
FAT32Yes since DOS 7.1[147]Yes since Windows 95 OSR2Yes since Windows 2000YesYesYesYesYesYesPartial on diskettes only, through dos* commandsUnknownwith third-party app[148]Yes[145]YesYes[146]Unknown
exFATNoPartial read-only with third party driverYes : Win7, Vista SP1, can be added to XP SP2with third party driverNoYes 10.6.5+NoNoYesNoNoNoYesNoUnknownUnknown
NTFSwith third-party driverwith third-party driver[149]YesYes Kernel 2.2 or newer, or with NTFS-3G or ntfsprogswith NTFS-3G or MacFUSEPartial: read-only (read-write with NTFS-3G)with NTFS-3Gwith NTFS-3Gwith NTFS-3G on OpensolarisUnknownUnknownPartial read-only third-party driver[150]with 3rd-party driver[151]NoUnknownUnknown
HFSNowith third-party app[152]with third-party app[152]YesYesPartial: read-only since OSX 10.6[153]with third-party app[154][155]UnknownUnknownUnknownNowith third-party app[156]NoNoNoUnknown
HFS PlusNowith third-party app[152]with third-party app[152]Partial - write support occurs if journal is empty, but requires a force mount.Yes since Mac OS 8.1YesPartial read-only third-party app[157]UnknownUnknownUnknownNowith third-party appNoNoNoUnknown
HPFSwith third-party driverPartial read-only third-party driver[158]included until v3.51, third-party driver until 4.0[159]YesNoUnknownYesUnknownUnknownUnknownUnknownYesNoUnknownUnknownUnknown
FFSNoUnknownUnknownYes[160]NoYesYesUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
UFS1NoUnknownUnknownPartial - read onlyNoYesYesUnknownUnknownUnknownUnknownUnknownUnknownUnknownNoUnknown
UFS2NoUnknownUnknownPartial - read onlyNoNoYesUnknownUnknownUnknownUnknownUnknownUnknownUnknownNoUnknown
ext2UnknownUnknownwith Ext2Fsd (complete)[161] or Ext2 IFS (partial, no large inodes)[162] or Ext2Read (read-only, also on LVM2)[163]YesNowith fuse-ext2,[164] ExtFS[165] and ext2fsx[166]YesUnknownUnknownUnknownUnknownthird-party app[167]with 3rd-party app[168]with 3rd-party app[168]UnknownUnknown
ext3UnknownUnknownwith Ext2Fsd (complete)[161] or Ext2 IFS (partial, no large inodes)[162] or Ext2Read (read-only, also on LVM2)[163]YesNowith fuse-ext2[164] and ExtFS[165]YesUnknownYesUnknownUnknownUnknownwith 3rd-party app[168]with 3rd-party app[168]UnknownUnknown
ext3cowUnknownUnknownUnknownYes Kernel 2.6.20UnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
ext4NoNowith Ext2Fsd (partial, extents limited)[161] or Ext2Read (read-only, also on LVM2)[163]Yes since kernel 2.6.28Nowith fuse-ext2 (partial)[164] and ExtFS (full read/write)[165]NoUnknownUnknownUnknownUnknownUnknownNoUnknownUnknownUnknown
BtrfsNoNoNoYesNoNoNoNoNoNoNoNoNoNoUnknownUnknown
ZFSNoNoNowith 3rd Party kernel module[169] or FUSE[170]Nowith free 3rd-party software[171]YesNoYesNoNoNoUnknownUnknownUnknownUnknown
LustreNoNoPartial - under development[172]Yes[173]NoPartial - via FUSEPartial - via FUSENoPartial - under development[174]NoNoNoNoNoUnknownUnknown
GFSNoUnknownUnknownYesNoUnknownNoUnknownUnknownUnknownUnknownUnknownNoNoUnknownUnknown
NILFSNoUnknownUnknownYes since kernel 2.6.30NoUnknownNoUnknownUnknownUnknownUnknownUnknownNoNoUnknownUnknown
ReiserFSNoUnknownPartial with third-party appYesNoNoPartial - read onlyUnknownUnknownUnknownUnknownUnknownwith 3rd-party app[168]with 3rd-party app[168]UnknownUnknown
Reiser4NoUnknownUnknownwith a kernel patchNoNoNoUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
OCFSNoUnknownUnknownYesNoUnknownNoUnknownUnknownUnknownUnknownUnknownNoNoUnknownUnknown
OCFS2NoUnknownUnknownYesNoUnknownNoUnknownUnknownUnknownUnknownUnknownNoNoUnknownUnknown
RelianceNoNoNoNoNoNoNoNoNoNoNoNoYesNoYesUnknown
Reliance NitroNoNoNoYesNoNoNoNoNoNoNoNoYesYesYesUnknown
XFSNoUnknownUnknownYesNoUnknownPartialUnknownUnknownUnknownUnknownUnknownNoNoUnknownUnknown
JFSNoUnknownUnknownYesNoNoNoUnknownUnknownYesUnknownYesNoNoUnknown
QFSNoUnknownUnknownvia client software[175]NoUnknownNoUnknownYesUnknownUnknownUnknownNoNoUnknownUnknown
BFSNoUnknownUnknownPartial - read-onlyNoUnknownNoYesUnknownUnknownUnknownUnknownNoNoUnknownUnknown
NSSUnknownUnknownUnknownwith Novell OES2[citation needed]NoUnknownNoUnknownUnknownUnknownUnknownUnknownNoNoUnknownUnknown
NWFSUnknownUnknownUnknownvia ncpfs client software[176]NoUnknownYesUnknownUnknownUnknownUnknownUnknownNoNoUnknownUnknown
UDFUnknownPartial read-only support of UDF 1.02 since Win98 and WinMEYes[177]YesYes since Mac OS 9YesYesUnknownYesUnknownUnknownUnknownYesUnknownUnknownUnknown
VxFSNoUnknownUnknownYesNoUnknownNoUnknownYesYesUnknownUnknownNoNoUnknownYes
FossilNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoUnknown
IBM HFSNoNoNoNoNoNoNoNoNoNoYesNoUnknownUnknownUnknownUnknown
IBM zFSNoNoNoNoNoNoNoNoNoNoYesNoUnknownUnknownUnknownUnknown
IBM GPFS[178]NoNoYesYesNoNoNoNoNoYesNoNoUnknownUnknownUnknownUnknown
VMFS2UnknownUnknownUnknownUnknownNoUnknownNoUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
VMFS3NoUnknownUnknownPartial read-only with vmfs[179]UnknownUnknownNoUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
DECtapeNoUnknownUnknownwith AncientFS[180]Nowith AncientFS[180]with AncientFS[180]UnknownUnknownUnknownUnknownUnknownNoNoUnknownUnknown
Level-DNoUnknownUnknownUnknownNoUnknownNoUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
RT-11NoUnknownUnknownUnknownNoUnknownNoUnknownUnknownUnknownUnknownUnknownNoNoYesUnknown
ODS-2NoUnknownUnknownPartial read-only with tool or kernel module[181]NoUnknownNoUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
ODS-5NoUnknownUnknownPartial read-only with kernel module[181]NoUnknownNoUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknownUnknown
LFSNoUnknownUnknownwith logfs[182] and othersNoUnknownNoUnknownUnknownUnknownUnknownUnknownNoNoUnknownUnknown
LTFSNoUnknownUnknownYesNoYesNoNoNoNoNoNoNoNoUnknownUnknown
PramFSNoNoNoYesNoNoNoNoNoNoNoNoNoNoNoNo
File systemDOSWindows 9xWindows NTLinuxMac OSMac OS XFreeBSDBeOSSolarisAIXz/OSOS/2Windows CEWindows MobileVxWorksHP-UX

See also

Notes

  1. ^ IBM introduced JFS with the initial release of AIX Version 3.1 in 1990. This file system now called JFS1. The new JFS, ported from OS/2 to AIX and Linux, was first shipped in OS/2 Warp Server for e-Business in 1999. It was released as JFS2 on AIX 5L.
  2. ^ "Polycenter File System — HELP", Tru64 Unix managers, ORNL 
  3. ^ Microsoft first introduced FAT32 in Windows 95 OSR2 (OEM Service Release 2) and then later in Windows 98. NT-based Windows did not have any support for FAT32 up to Windows NT4; Windows 2000 was the first NT-based Windows OS that received the ability to work with it.
  4. ^ a b Specifications for the Reliance file systems are available here [1].
  5. ^ a b These are the restrictions imposed by the on-disk directory entry structures themselves. Particular Installable File System drivers may place restrictions of their own on file and directory names; and particular and operating systems may also place restrictions of their own, across all filesystems. MS-DOS, Microsoft Windows, and OS/2 disallow the characters \ / : ? * " > < | and NUL in file and directory names across all filesystems. Unix-like systems disallow the characters / and NUL in file and directory names across all filesystems.
  6. ^ a b c d e f For filesystems that have variable allocation unit (block/cluster) sizes, a range of size are given, indicating the maximum volume sizes for the minimum and the maximum possible allocation unit sizes of the filesystem (e.g. 512 bytes and 128 kB for FAT â€” which is the cluster size range allowed by the on-disk data structures, although some Installable File System drivers and operating systems do not support cluster sizes larger than 32 kB).
  7. ^ While the on-disk filesystem structure uses a 4-byte file length, which allows files up to 4G, the usual disk access APIs use the top three bits of the sector number to specify the drive number, effectively limiting the maximum file size to 512M.
  8. ^ While the on-disk filesystem structure uses a 3-byte sector number, which allows access to 4G of disk space, the usual disk access APIs use the top three bits of the sector number to specify the drive number, effectively limiting the maximum disk size to 512M.
  9. ^ The CP/M filesystem itself does have limitations in regard to the allowed filename characters to be used, but officially the following characters are not allowed: SPACE < > . , ; : = ? * [ ] % | ( ) / \. CCP reserves the following characters for special purposes: SPACE , = _ . : ;, PIP additionally reserves: < > [ ].
  10. ^ a b "Maximum CP/M-80 2.2 volume size?", comp.os.cpm, Google Groups, retrieved 2009-10-09 
  11. ^ "SFS file system". Publib.boulder.ibm.com. Retrieved 2013-02-05. 
  12. ^ a b c d e f g h i Depends on whether the FAT12, FAT16, and FAT32 implementation has support for long filenames (LFNs). Where it does not, as in OS/2, MS-DOS, Windows 95, Windows 98 in DOS-only mode and the Linux "msdos" driver, file names are limited to 8.3 format of 8-bit characters (space padded in both the basename and extension parts) and may not contain NUL (end-of-directory marker) or character 5 (replacement for character 229 which itself is used as deleted-file marker). Short names also do not normally contain lowercase letters. Also note that a few special names (CON, NUL, LPT1) should be avoided, as some operating systems (notably DOS and windows) effectively reserve them.
  13. ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af In these filesystems the directory entries named "." and ".." have special status. Directory entries with these names are not prohibited, and indeed exist as normal directory entries in the on-disk data structures. However, they are mandatory directory entries, with mandatory values, that are automatically created in each directory when it is created; and directories without them are considered corrupt.
  14. ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj The on-disk structures have no inherent limit. Particular Installable File System drivers and operating systems may impose limits of their own, however. MS-DOS/PC DOS do not support full pathnames longer than 66 bytes for FAT12, FAT16 and FAT32 volumes. This limit exists because these operating systems were designed around a fixed-length internal data structure named Current Directory Structure, which holds the absolute paths of the current working directories of all volumes. The FAT12/FAT16 file system implementation under Concurrent DOS and DR DOS 3.31 to 6.0 (prior to 1992 updates) did not impose any such limits on the directory depth due to their internal representation of current working directories as dynamically updated chain of double-linked relative directories. The introduction of a DOS-like CDS (instead of only an emulation thereof) for compatibility purposes with BDOS 7.0 in 1992 imposed the same length limits on PalmDOS, DR DOS 6.0 (since 1992 update), Novell DOS, OpenDOS, etc. as known from MS-DOS/PC DOS. Windows NT does not support full pathnames longer than 32,767 bytes for NTFS. Most Windows programs will fail when full path exceeds 255 characters (including Explorer and CMD.EXE). Linux has a pathname limit of 4,096.
  15. ^ See manual http://wwwlehre.dhbw-stuttgart.de/~he lbig/os/v6/doc/V/fs.html
  16. ^ The actual maximum was 1,082,201,088 bytes, with 10 direct blocks, 1 singly indirect block, 1 doubly indirect block, and 1 triply indirect block. The 4.0BSD and 4.1BSD versions, and the System V version, used 1,024-byte blocks rather than 512-byte blocks, making the maximum 4,311,812,608 bytes or approximately 4 GB.
  17. ^ Table "Limits" states a maximum of 255 Unicode characters for the filename [2]
  18. ^ "KB955704". 2009-01-27. "Description of the exFAT file system driver update package [for 32-bit XP]" 
  19. ^ "msdn TexFAT File Naming Limitations". 2009-10-14. 
  20. ^ Udo Kuhnt, Luchezar Georgiev, Jeremy Davis (2007). FAT+. FATPLUS.TXT, draft revision 2 ([3], [4]).
  21. ^ While FAT32 partitions this large work fine once created, some software won't allow creation of FAT32 partitions larger than 32 GB. This includes, notoriously, the Windows XP installation program and the Disk Management console in Windows 2000, XP, 2003 and Vista. Use FDISK from a Windows ME Emergency Boot Disk to avoid. [5]
  22. ^ As Mac OS X is a Unix-like system, which supports : in file names, and which uses / as a pathname component separator, : in file names is represented on disk in HFS and HFS+ as /.
  23. ^ The "." and ".." directory entries in HPFS that are seen by applications programs are a partial fiction created by the Installable File System drivers. The on-disk data structure for a directory does not contain entries by those names, but instead contains a special "start" entry. Whilst on-disk directory entries by those names are not physically prohibited, they cannot be created in normal operation, and a directory containing such entries is corrupt.
  24. ^ This is the limit of the on-disk structures. The HPFS Installable File System driver for OS/2 uses the top 5 bits of the volume sector number for its own use, limiting the volume size that it can handle to 64 GB.
  25. ^ a b NTFS allows files to have multiple names, in separate namespaces: Win32, DOS, Win32&DOS, and Posix. Windows APIs create files with Win32 "long" names (1–255 characters), sometimes with an additional "short"/"alias" DOS name in the "8.3" format (12 characters).
  26. ^ a b Richard Russon and Yuval Fledel. "NTFS Documentation". Retrieved 2011-06-26. 
  27. ^ a b "Naming Files, Paths, and Namespaces (MSDN Library article)".  NB: This article includes discussion of the NT & Win32 namespaces used by Windows APIs; these are distinct from the NTFS filename namespaces.
  28. ^ In the Win32 namespace, any UTF-16 code unit (case insensitive) except NUL and \ / : * ? " < > | is allowed; in the Posix namespace, any UTF-16 code unit (case sensitive) except NUL and / is allowed; in the DOS namespace, any character in the U+0021–U+007E range except \ / : * ? " < > | is allowed. Windows APIs require Win32 namespace compatibility, which prevents access to folders & files having only Posix names containing Win32-incompatible characters.
  29. ^ a b This is the limit of the on-disk structures. The NTFS driver for Windows NT limits the volume size that it can handle to 256 TB and the file size to 16 TB respectively."How NTFS Works". 
  30. ^ "MSDN Blogs - Resilient File System, Windows 8 RC's filename length reduced (from 32K to 255) with Windows 8 RTM for NTFS compatibility". Blogs.msdn.com. 2012-01-16. Retrieved 2013-02-05. 
  31. ^ The Mac OS provides two sets of functions to retrieve file names from an HFS Plus volume, one of them returning the full Unicode names, the other shortened names fitting in the older 31 byte limit to accommodate older applications.
  32. ^ HFS Plus mandates support for an escape sequence to allow arbitrary Unicode. Users of older software might see the escape sequences instead of the desired characters.
  33. ^ Docs, Apple 
  34. ^ Docs 
  35. ^ "Interviews/EricSandeen". FedoraProject. 2008-06-09. Retrieved 2009-10-09. 
  36. ^ ext4 1.42 "This release of e2fsprogs has support for file systems > 16 TB"
  37. ^ a b Depends on kernel version and arch. For 2.4 kernels the max is 2 TB. For 32-bit 2.6 kernels it is 16 TB. For 64-bit 2.6 kernels it is 8 EB.
  38. ^ ReiserFS has a theoretical maximum file size of 1 EB, but "page cache limits this to 8TB on architectures with 32 bit int"[6]
  39. ^ a b QFS allows files to exceed the size of disk when used with its integrated HSM, as only part of the file need reside on disk at any one time.
  40. ^ Varies wildly according to block size and fragmentation of block allocation groups.
  41. ^ a b NSS allows files to have multiple names, in separate namespaces.
  42. ^ Some namespaces had lower name length limits. "LONG" had an 80-byte limit, "NWFS" 80 bytes, "NFS" 40 bytes and "DOS" imposed 8.3 filename.
  43. ^ Maximum combined filename/filetype length is 236 bytes; each component has an individual maximum length of 255 bytes.
  44. ^ Maximum pathname length is 4,096 bytes, but quoted limits on individual components add up to 1,664 bytes.
  45. ^ This restriction might be lifted in newer versions.
  46. ^ 232 × block size
  47. ^ a b c d e "File, file system, and memory size limits in Minix". Minix1.woodhull.com. Retrieved 2013-02-05. 
  48. ^ a b Maximum file size on a VMFS volume depends on the block size for that VMFS volume. The figures here are obtained by using the maximum block size.
  49. ^ ISO 9660#Restrictions
  50. ^ Through the use of multi-extents, a file can consist of multiple segments, each up to 4 GB in size. See ISO 9660#The 2/4 GB file size limit
  51. ^ Assuming the typical 2048 Byte sector size. The volume size is specified as a 32-bit value identifying the number of sectors on the volume.
  52. ^ Joliet Specification
  53. ^ https://raw.github.com/danrl/lanyfs-d ocs/master/lanyfs-1.4.txt
  54. ^ "LEAN file system". Freedos-32.sourceforge.net. Retrieved 2013-02-05. 
  55. ^ Note that the filename can be much longer XFS#Extended_attributes
  56. ^ a b XFS has a limitation under Linux 2.4 of 64 TB file size, but Linux 2.4 only supports a maximum block size of 2 TB. This limitation is not present under IRIX.
  57. ^ Implemented in later versions as an extension
  58. ^ a b Concurrent DOS, FlexOS, Multiuser DOS, REAL/32, PalmDOS, Novell DOS, OpenDOS, and DR-DOS can store file owner information in reserved fields of directory entries on FAT12 and FAT16 volumes, if the optional multi-user security module is loaded. If loaded, most external commands invoke support for special /U:owner/group command line options to deal with this extra information.
  59. ^ a b Concurrent DOS, FlexOS, Multiuser DOS, REAL/32, DR DOS, PalmDOS, Novell DOS, OpenDOS, and DR-DOS can store read/write/delete/execute access permissions and file/directory passwords in reserved fields of directory entries on FAT12 and FAT16 volumes. This is an integral part of the design, therefore passwords can be appended to file or directory names with semicolon (for example: dirname;dirpwd\filename;filepwd), the PASSWORD command can be used to control permissions and some commands support a special /P:pwd option to deal with this feature.
  60. ^ a b c d e f File creation and file access timestamps are supported only by DOS 7.0 and higher, and typically only when explicitly enabled.
  61. ^ a b c Some FAT implementations, such as in Linux, show file modification timestamp (mtime) in the metadata change timestamp (ctime) field. This timestamp is however, not updated on file metadata change.
  62. ^ a b Particular Installable File System drivers and operating systems may not support extended attributes on FAT12 and FAT16. The OS/2 and Windows NT filesystem drivers for FAT12 and FAT16 support extended attributes (using a "EA DATA. SF" pseudo-file to reserve the clusters allocated to them). Other filesystem drivers for other operating systems do not.
  63. ^ The f-node contains a field for a user identifier. This is not used except by OS/2 Warp Server, however.
  64. ^ NTFS access control lists can express any access policy possible using simple POSIX file permissions (and far more), but use of a POSIX-like interface is not supported without an add-on such as Services for UNIX or Cygwin.
  65. ^ As of Vista, NTFS has support for Mandatory Labels, which are used to enforce Mandatory Integrity Control. See [7]
  66. ^ "As of 10.5 Leopard, Mac OS X has support for Mandatory Labels. See". Trustedbsd.org. Retrieved 2013-02-05. 
  67. ^ a b c d Access-control lists and MAC labels are layered on top of extended attributes.
  68. ^ Some operating systems implemented extended attributes as a layer over UFS1 with a parallel backing file (e.g., FreeBSD 4.x).
  69. ^ a b c d e f g h i j k l Some Installable File System drivers and operating systems may not support extended attributes, access control lists or security labels on these filesystems. Linux kernels prior to 2.6.x may either be missing support for these altogether or require a patch.
  70. ^ ext4 has group descriptor, journal and, starting from Linux kernel 3.5, metadata checksumming
  71. ^ Creation time is stored in the backing ext4 filesystem, but is not yet sent to clients.
  72. ^ Lustre has checksums for data over the network, but depends on backing filesystem and hardware for checksums of persistent data
  73. ^ a b c d e Not available with ext3/4, but will be available with ZFS OST/MDT backing filesystems.
  74. ^ ocfs2 computes and validates checksums of metadata objects like inodes and directories. It also stores an error correction code capable to fixing single-bite errors.
  75. ^ a b CRCs are employed for certain types of metadata.
  76. ^ a b c d e f The local time, timezone/UTC offset, and date are derived from the time settings of the reference/single timesync source in the NDS tree.
  77. ^ a b Novell calls this feature "multiple data streams". Published specifications say that NWFS allows for 16 attributes and 10 data streams, and NSS allows for unlimited quantities of both.
  78. ^ a b Some file and directory metadata is stored on the NetWare server irrespective of whether Directory Services is installed or not, like date/time of creation, file size, purge status, etc; and some file and directory metadata is stored in NDS/eDirectory, like file/object permissions, ownership, etc.
  79. ^ Record Management Services (RMS) attributes include record type and size, among many others.
  80. ^ File permission in 9P are a variation of the traditional Unix permissions with some minor changes, e.g. the suid bit is replaced by a new 'exclusive access' bit.
  81. ^ MAC/Sensitivity labels are per filesystem. A label per file are not out of the question as a future compatible change but aren't part of any available version of ZFS.
  82. ^ Solaris "extended attributes" are really full-blown alternate data streams, in both the Solaris UFS and ZFS. ZFS also has "system attributes" used for storing MS-DOS/NTFS compatible attributes for use by CIFS; as well as some attributes ported from FreeBSD
  83. ^ a b Time the file was recorded on the volume always available; "File Creation Date and Time" available only if the file has an Extended Attribute block.
  84. ^ a b Not applicable to file systems on a read-only medium.
  85. ^ a b Available only if the file has an Extended Attribute block.
  86. ^ Symlinks only visible to NFS clients. References and Off-Disk Pointers (ODPs) provide local equivalent.
  87. ^ System V Release 4, and some other Unix systems, retrofitted symbolic links to their versions of the Version 7 Unix file system, although the original version didn't support them.
  88. ^ a b c "6", Parted manual, GNU 
  89. ^ Context based symlinks were supported in GFS, GFS2 only supports standard symlinks since the bind mount feature of the Linux VFS has made context based symlinks obsolete
  90. ^ Optional journaling of data
  91. ^ As of Windows Vista, NTFS fully supports soft links. See this Microsoft article on Vista kernel improvements. NTFS 5.0 (Windows 2000) and higher can create junctions, which allow any valid local directory (but not individual files) ("target" of junction) to be mapped to an NTFS version thereof ("source" = location of junction). The source directory must lie on an NTFS 5+ partition, but the target directory can lie on any valid local partition and needn't be NTFS. Junctions are implemented through reparse points, which allow the normal process of filename resolution to be extended in a flexible manner.
  92. ^ a b NTFS stores everything, even the file data, as meta-data, so its log is closer to block journaling.
  93. ^ While NTFS itself supports case sensitivity, the Win32 environment subsystem cannot create files whose names differ only by case for compatibility reasons. When a file is opened for writing, if there is any existing file whose name is a case-insensitive match for the new file, the existing file is truncated and opened for writing instead of a new file with a different name being created. Other subsystems like e. g. Services for Unix, that operate directly above the kernel and not on top of Win32 can have case-sensitivity.
  94. ^ NTFS does not internally support snapshots, but in conjunction with the Volume Shadow Copy Service can maintain persistent block differential volume snapshots.
  95. ^ Rick Vanover. "Windows Server 8 data deduplication". Retrieved 2011-12-02. 
  96. ^ "How to Shrink and Extend NTFS Volumes in Windows". Bleepingcomputer.com. Retrieved 2013-02-05. 
  97. ^ Mac OS System 7 introduced the 'alias', analogous to the POSIX symbolic link but with some notable differences. Not only could they cross file systems but they could point to entirely different file servers, and recorded enough information to allow the remote file system to be mounted on demand. It had its own API that application software had to use to gain their benefits-- this is the opposite approach from POSIX which introduced specific APIs to avoid the symbolic link nature of the link. The Finder displayed their file names in an italic font (at least in Roman scripts), but otherwise they behaved identically to their referent.
  98. ^ "Hard Links on HFS". Developer.apple.com. Retrieved 2013-02-05. 
  99. ^ Metadata-only journaling was introduced in the Mac OS 10.2.2 HFS Plus driver; journaling is enabled by default on Mac OS 10.3 and later.
  100. ^ Although often believed to be case sensitive, HFS Plus normally is not. The typical default installation is case-preserving only. From Mac OS 10.3 on the command newfs_hfs -s will create a case-sensitive new file system. HFS Plus version 5 optionally supports case-sensitivity. However, since case-sensitivity is fundamentally different from case-insensitivity, a new signature was required so existing HFS Plus utilities would not see case-sensitivity as a file system error that needed to be corrected. Since the new signature is 'HX', it is often believed this is a new filesystem instead of a simply an upgraded version of HFS Plus. See Apple's File System Comparisons (which hasn't been updated to discuss HFSX) and Technical Note TN1150: HFS Plus Volume Format (which provides a very technical overview of HFS Plus and HFSX).
  101. ^ Mac OS Tiger (10.4) and late versions of Panther (10.3) provide file change logging (it's a feature of the file system software, not of the volume format, actually). See fslogger.
  102. ^ As of OS X 10.7, HFS+ supports full volume file encryption known as Filevault 2.
  103. ^ Since Mac OS X Snow Leopard, online resizing is supported."How to resize a live partition in Snow Leopard and Lion". 
  104. ^ "Write Ahead Physical Block Logging" in NetBSD, provides metadata journaling and consistency as an alternative to softdep.
  105. ^ "OpenBSD growfs(8) manpage". Openbsd.org. 2008-11-28. Retrieved 2013-02-05. 
  106. ^ "Soft dependencies" (softdep) in NetBSD, called "soft updates" in FreeBSD provide meta-data consistency at all times without double writes (journaling).
  107. ^ Block level journals can be added by using gjournal module in FreeBSD.
  108. ^ "FreeBSD growfs(8) manpage". Freebsd.org. 2012-04-30. Retrieved 2013-02-05. 
  109. ^ a b c d UDF, LFS, and NILFS are log-structured file systems and behave as if the entire file system were a journal.
  110. ^ Linux kernel versions 2.6.12 and newer.
  111. ^ a b c Offline growing/shrinking as well as online growing: "Linux man page for resize2fs(8) (from e2fsprogs 1.41.9)". 
  112. ^ a b c d Off by default.
  113. ^ Can be shrunk online by migrating files off an OST and removing the OST, or offline with ext3/4 backing filesystems by shrinking the OST filesystem
  114. ^ Full block journaling for ReiserFS was not added to Linux 2.6.8 for obvious reasons.[why?]
  115. ^ a b Reiser4 supports transparent compression and encryption with the cryptcompress plugin which is the default file handler in version 4.1.
  116. ^ OCFS2 supports creating multiple write-able snapshots of regular files using REFLINK.
  117. ^ a b File system implements reliability via atomic transactions.
  118. ^ Optionally no on IRIX.
  119. ^ Particular Installable File System drivers and operating systems may not support case sensitivity for JFS. OS/2 does not, and Linux has a mount option for disabling case sensitivity.
  120. ^ [8][dead link]
  121. ^ a b c d Case-sensitivity/Preservation depends on client. Windows, DOS, and OS/2 clients don't see/keep case differences, whereas clients accessing via NFS or AFP may.
  122. ^ a b The file change logs, last entry change timestamps, and other filesystem metadata, are all part of the extensive suite of auditing capabilities built into NDS/eDirectory called NSure Audit. (Filesystem Events tracked by NSure)
  123. ^ a b Available only in the "NFS" namespace.
  124. ^ Limited capability. Volumes can span physical disks (volume segment)
  125. ^ a b These are referred to as "aliases".
  126. ^ VxFS provides an optional feature called "Storage Checkpoints" which allows for advanced file system snapshots.
  127. ^ When used with venti.
  128. ^ a b ZFS is a transactional filesystem using copy-on-write semantics, guaranteeing an always-consistent on-disk state without the use of a traditional journal. However, it does also implement an intent log to provide better performance when synchronous writes are requested.
  129. ^ "How to resize ZFS". 
  130. ^ McPherson, Amanda (2009-06-22), A Conversation with Chris Mason on BTRfs: the next generation file system for Linux, Linux Foundation, retrieved 2009-09-01 
  131. ^ a b Variable block size refers to systems which support different block sizes on a per-file basis. (This is similar to extents but a slightly different implementational choice.) The current implementation in UFS2 is read-only.
  132. ^ only for .REL (record structured) files, up to 254 bytes/record
  133. ^ Btrfs can only inline files smaller than 3916B with its metadata"Mailing list discussion". 
  134. ^ a b SuperStor in DR DOS 6.0 and PC DOS 6.1, DoubleSpace in MS-DOS 6.0, DriveSpace in MS-DOS 6.22, Windows 95 and Windows 98, and Stacker in Novell DOS 7, OpenDOS 7.01, DR-DOS 7.02/7.03 and PC DOS 7.0/2000 were data compression schemes for FAT.
  135. ^ Only for "stuffed" inodes
  136. ^ Only if formatted with 4kB-sized clusters or smaller
  137. ^ a b c d Other block:fragment size ratios supported; 8:1 is typical and recommended by most implementations.
  138. ^ a b c d Fragments were planned, but never actually implemented on ext2 and ext3.
  139. ^ e2compr, a set of patches providing block-based compression for ext2, has been available since 1997, but has never been merged into the mainline Linux kernel.
  140. ^ In "extents" mode.
  141. ^ "AIX documentation: JFS data compression". IBM. 
  142. ^ Each possible size (in sectors) of file tail has a corresponding suballocation block chain in which all the tails of that size are stored. The overhead of managing suballocation block chains is usually less than the amount of block overhead saved by being able to increase the block size but the process is less efficient if there is not much free disk space.
  143. ^ Depends on UDF implementation.
  144. ^ When enabled, ZFS's logical-block based compression behaves much like tail-packing for the last block of a file.
  145. ^ a b c Files, Databases, and Persistent Storage. MSDN.
  146. ^ a b c Via dosFs.
  147. ^ Native FAT32 support with MS-DOS 7.10 and 8.0. Loadable FAT32 support for any DOS since 3.31 with DRFAT32 redirector driver. Native FAT32 support since OEM DR-DOS 7.04, bootable FAT32 support since OEM DR-DOS 7.06. Native FAT32 support with OEM PC DOS 7.10.
  148. ^ "OS/2 and eComstation FAT32 Driver". Hobbes.nmsu.edu. Retrieved 2013-02-05. 
  149. ^ "NTFS for Windows 98". Download.chip.eu. Retrieved 2013-02-05. 
  150. ^ "OS/2 NTFS Driver". Hobbes.nmsu.edu. Retrieved 2013-02-05. 
  151. ^ Tuxera NTFS for Windows CE. See article and announcement.
  152. ^ a b c d Cross-platform Drive Solutions. "Sharing Disks - Windows Products". Macwindows.com. Retrieved 2013-02-05. 
  153. ^ Gagne, Ken (2009-08-31). "Losing legacy data to Snow Leopard". Computerworld. Retrieved 2009-09-07. 
  154. ^ "hfsutils at FreshPorts". Freshports.org. Retrieved 2013-02-05. 
  155. ^ "hfs at FreshPorts". Freshports.org. Retrieved 2013-02-05. 
  156. ^ "OS/2 HFS Driver". Hobbes.nmsu.edu. Retrieved 2013-02-05. 
  157. ^ "Catacombae HFSExplorer". Hem.bredband.net. Retrieved 2013-02-05. 
  158. ^ "DOS/Win 9x HPFS Driver". Hobbes.nmsu.edu. Retrieved 2013-02-05. 
  159. ^ Win NT 4.0 HPFS Driver
  160. ^ "How to mount FFS partition under Linux - NetBSD Wiki". Wiki.netbsd.se. Archived from the original on March 19, 2008. Retrieved 2009-10-09. 
  161. ^ a b c Ext2Fsd is an open source ext2/ext3/ext4 kernel-level file system driver for Windows systems (NT/2K/XP/VISTA/7, X86/AMD64) that provides both read/write access to the file system. Currently, does not fully support extents (no size truncating/extending, no file deletion), a default feature of ext4. [9]
  162. ^ a b Ext2 IFS for Windows provides kernel-level read/write access to ext2 and ext3 volumes in Windows NT4, 2000, XP, Vista and Windows 2008. Does not support inodes size above 128 bytes and does not support ext4.[10]
  163. ^ a b c Ext2Read is an explorer-like utility to explore ext2/ext3/ext4 file systems that provides read-only access to the file system. It supports extents, large inodes, and LVM2 volumes.Ext2Read
  164. ^ a b c Fuse-ext2 is a multi OS FUSE module to mount ext2 and ext3 file system devices and/or images with read and write support.[11]
  165. ^ a b c Paragon ExtFS for Mac is a low-level file system driver specially developed to bridge file system incompatibility between Linux and Mac by providing full read/write access to the Ext2, Ext3 and Ext4 file systems under Mac OS X.[12]
  166. ^ Ext2fsx is the first and old implementation of the Ext2 (Linux) filesystem for Mac OS X.[13]
  167. ^ OS/2 ext2 Driver
  168. ^ a b c d e f See Total Commander, which supports accessing ext2, ext3, and ReiserFS from Windows, Windows CE, and Windows Mobile.
  169. ^ Native ZFS for Linux
  170. ^ ZFS on FUSE
  171. ^ Mac ZFS
  172. ^ http://wiki.lustre.org/index.php/Wind ows_Native_Client
  173. ^ http://wiki.lustre.org/index.php?titl e=Main_Page
  174. ^ http://wiki.lustre.org/index.php/FAQ_ -_OS_Support
  175. ^ Using SAM-QFS on Linux Clients
  176. ^ ncpfs
  177. ^ "Understanding the difference between the Live File System and Mastered disc formats". Which CD or DVD format should I use?. Microsoft. Retrieved 2008-11-22. 
  178. ^ [14]
  179. ^ vmfs
  180. ^ a b c AncientFS
  181. ^ a b VMS2Linux
  182. ^ logfs

External links

(Sebelumnya) X.690Comparison of HTML parsers (Berikutnya)