文件系统的对比

下列表格对比了一系列文件系统的一般和技术资料，文件系统的具体信息参见链接文章。

一般资料
 文件系统 开发者 发布年份 原操作系统 许可 DECtape DEC 1964 PDP-6 Monitor Level-D DEC 1968 TOPS-10 George3 ICT (即之后的 ICL) 1968 George 3 ODS-1 DEC 1972 RSX-11 RT-11 file system DEC 1973 RT-11 DOS (GEC) GEC 1973 Core Operating System CP/M file system 蓋瑞·基爾多 1974 CP/M V6FS Bell Labs 1975 Version 6 Unix OS4000 GEC 1977 OS4000 FAT (8-bit) Marc McDonald, Microsoft 1977 Microsoft Standalone Disk BASIC-80 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 DOS 1.0 Atari Corporation 1979 Atari 8-bit family ODS-2 DEC 1979 OpenVMS FAT12 Tim Paterson, Seattle Computer Products 1980 QDOS, 86-DOS DOMAIN file system Apollo Computer 1981 Domain/OS (Aegis, Domain)AFS Carnegie Mellon University 1982 Multiplatform MultoOS 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 FAT16 Microsoft, IBM 1984 PC DOS 3.0/MS-DOS 3.0 Elektronika BK tape format NPO "Scientific centre" (now Sitronics) 1985 Vilnius Basic, BK monitor program HFS Apple Computer 1985 Mac OS Amiga OFS Metacomco for Commodore 1985 Amiga OS High Sierra Ecma International 1985 MS-DOS, Mac OS NWFS Novell 1985 NetWare 286 FAT16B Compaq 1987 Compaq MS-DOS 3.31, DR 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, Mac OS, and AmigaOS JFS1 IBM 1990 AIXIBM 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. VxFS VERITAS, (now Symantec) 1991 为 Unix System Laboratories、HP-UXthrough OEM agreement 开发 ext Rémy Card 1992 Linux WAFL NetApp 1992 Data ONTAP MINIX V2 FS Andrew S. Tanenbaum 1992 MINIX 1.6 and 2.0 AdvFS DEC 1993 Digital Unix NTFS Version 1.0  Microsoft, Tom Miller, Gary Kimura 1993 Windows NT 3.1 专有 LFS Margo Seltzer 1993 Berkeley Sprite ext2 Rémy Card 1993 Linux, Hurd UFS1 Kirk McKusick 1994 4.4BSD XFS SGI 1994 IRIX HFS (Hierarchical File System) IBM 1994 MVS/ESA (now z/OS) Rock Ridge Young Minds Inc. 1994 Linux, Mac OS, Amiga OS, and FreeBSD Joliet ("CDFS") Microsoft 1995 Microsoft Windows, Linux, Mac OS, and FreeBSD PFS Michiel Pelt 1996 AmigaOS Romeo Adaptec 1996 Microsoft Windows UDF ISO/ECMA/OSTA 1995 - FAT32 Microsoft 1996 Windows 95bMicrosoft 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. QFS LSC Inc, Sun Microsystems 1996 Solaris IBM Spectrum Scale IBM 1998 AIX, Linux, Windows Be File System Be Inc., D. Giampaolo, C. Meurillon 1996 BeOS 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 SFS John Hendrikx 1998 AmigaOS, AROS, MorphOS ext3 Stephen Tweedie 1999 Linux ISO 9660:1999 Ecma International, Microsoft 1999 Microsoft Windows, Linux, Mac OS X, FreeBSD, and AmigaOS JFS IBM 1999 OS/2 Warp Server for e-business GFS Sistina (Red Hat) 2000 Linux Melio FS Sanbolic 2001 Windows NTFS Version 3.1 Microsoft 2001 Windows XP 专有 ReiserFS Namesys 2001 Linux zFS IBM 2001 z/OS (backported to OS/390) FATX Microsoft 2002 Xbox UFS2 Kirk McKusick 2002 FreeBSD 5.0 Lustre Cluster File Systems (later Oracle Corporation) 2002 Linux OCFS Oracle Corporation 2002 Linux VMFS2 VMware 2002 VMware ESX Server 2.0 ext3cow Zachary Peterson 2003 Linux Fossil Bell Labs 2003 Plan 9 from Bell Labs, 4th Edition LPL Google File System Google 2003 Linux PramFS MontaVista 2003 Linux RelianceSpecifications for the Reliance file systems are available here . Datalight 2003 Windows CE, VxWorks, custom ports VxCFS VERITAS, (now Symantec) 2004 AIX, HP-UX, Solaris, Linux ZFS Sun Microsystems 2004 Solaris CDDL 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, 2009 Windows CE 6.0, Windows XP SP3, Windows Vista SP1 专有 TexFAT/TFAT Microsoft 2006 Windows CE 6.0 Btrfs Oracle Corporation 2007 Linux GPL Ceph Sage Weil, Inktank Storage, Red Hat 2007, 2012 Linux WBFSkwiirk and Waninkoko (Wii homebrew) 2008 Nintendo WII HAMMER Matthew Dillon 2008 DragonFly BSD Tux3 Various 2008 Linux UBIFS Nokia with help of University of Szeged 2008 Linux Oracle ACFS Oracle Corporation 2009 Linux - Red Hat Enterprise Linux 5 and Oracle Enterprise Linux 5 only Reliance Nitro Datalight 2009 Windows CE, Windows Mobile, VxWorks, Linux, custom ports 专有 LTFS IBM 2010 Linux, Mac OS X, planned Microsoft Windows, LGPL IlesfayFSIlesfay Technology Group 2011 Microsoft Windows, planned Red Hat Enterprise Linux VMFS5 VMware 2011 VMware ESXi 5.0tux 3 stats ReFS Microsoft 2012, 2013 Windows 2012 Server 专有 Lanyard Filesystem Dan Luedtke 2012 Linux  F2FS Samsung 2012 Linux GPLv2 文件系统 开发者 发布年份 原操作系统 许可证

限制
 文件系统 最大文件名称长度 路径字符限制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. 最大路径名长度 最大文件大小 最大卷大小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). Acorn ADFS 10 bytes Any ISO 8859-1 character except: SPACE $ & % @ \ ^ : . # * " ¦ No limit defined  or 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.  or 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. AdvFS  characters Any byte except NUL No limit defined    Apple DOS 3.x  bytes Any byte except NUL , no subdirectories (105 files per disk)   DOS 3.3 (assuming standard 35 tracks) DOS 3.1, 3.2 ProDOS  bytes A-Z, a-z, 0-9, and period  B, including slashes   BFS  bytes Any byte except NUL No limit defined Varies wildly according to block size and fragmentation of block allocation groups.  Btrfs  bytes Any byte except NUL    CBM DOS  bytes Any byte except NUL Non-hierarchical   CP/M file system 8.3 any byte except: SPACE < > . , ; : = ? * [ ] % | ( ) / \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: < > [ ]. 16 "user areas", no subdirectories   to 512 MB DECtape 6.3 A–Z, 0–9 DTxN:FILNAM.EXT = 15  (577 * 640)  (578 * 640) DOS (GEC)  bytes A–Z, 0–9 Non-hierarchical   Elektronika BK tape format  bytes  Non-hierarchical   (approx) per side for 90 min cassette (limited only by tape length) exFAT 255 charactersTable "Limits" states a maximum of 255 Unicode characters for the filename   Any Unicode except NUL No limit defined  , 512 TB recommended ext2  bytes Any byte except NUL and / No limit defined   ext3  bytes Any byte except NUL and / No limit defined   ext3cow  bytes Any byte except NUL, / and @ No limit defined   ext4  bytes Any byte except NUL and / No limit defined  ext4 1.42  "This release of e2fsprogs has support for file systems > 16 TB" TexFAT 247 characters Any Unicode except NUL No limit defined   Tested F2FS  bytes     FAT12 8.3 (255 UCS-2 code units with VFAT LFNs)Depends on whether the FAT12, FAT16 or 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). Short names also do not normally contain lowercase letters. Also note that a few special device names should be avoided, as some operating systems (notably DOS and Windows) effectively reserve them. Any byte except for values 0-31, 127 (DEL) and: " * / : < > ? \ | + , . ; = [] (lowcase a-z are stored as A-Z). With VFAT LFN any Unicode except NUL No limit defined  ()  ( with 4K sectors and 64 KB clusters) FAT16 8.3 (255 UCS-2 code units with VFAT LFNs) Any byte except for values 0-31, 127 (DEL) and: " * / : < > ? \ | + , . ; = [] (lowcase a-z are stored as A-Z). With VFAT LFN any Unicode except NUL No limit defined  ( with LFS)  or 4 GB FAT32 8.3 (255 UCS-2 code units with VFAT LFNs) Any byte except for values 0-31, 127 (DEL) and: " * / : < > ? \ | + , . ; = [] (lowcase a-z are stored as A-Z). With VFAT LFN any Unicode except NUL No limit defined  ( with LFS) 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.   () FATX  bytes ASCII.  Unicode not permitted. No limit defined   FFS  bytes Any byte except NUL No limit defined   Fossil 65535 bytes of UTF-8 characters Any Unicode except 0-31 No limit defined 8 EB  GFS  Any byte except NUL No limit defined 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.  IBM Spectrum Scale  UTF-8 codepoints Any byte except NUL and / No limit defined   (18 PB tested) HAMMER      HFS  bytes Any byte except :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 /. Unlimited   HFS Plus 255 UTF-16 code unitsThe 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. Any valid UnicodeHFS 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. Unlimited   High Sierra    - HPFS  bytes Any byte except NULThe "." 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. No limit defined  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. ISO 9660:1988 Level 1: 8.3,Level 2 & 3: ~ 180 Depends on LevelISO 9660#Restrictions ~ 180 bytes?  (Level 1 & 2) to 8 TB (Level 3)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 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. ISO 9660:1999  (207?)      Joliet ("CDFS") 64 Unicode characters All UCS-2 code except * / \ : ; and ?Joliet Specification    (same as ISO 9660:1988)  (same as ISO 9660:1988) Lanyard Filesystem  bytes Any byte except NUL and / No limit defined   to https://raw.github.com/danrl/lanyfs-docs/master/lanyfs-1.4.txt LEAN  bytes case sensitive, in UTF-8 (any Unicode codepoint) No limit defined   Level-D 6.3 A–Z, 0–9 DEVICE:FILNAM.EXT[PROJECT,PROGRM] = 7 + 10 + 15 = 32; + 5*7 for SFDs = 67  (34,359,738,368 words (235-1); 206,158,430,208 SIXBIT bytes)  (approx; 64 * 178 MB) LTFS      Lustre  bytes Any byte except NUL and / No limit defined  (on ext4)  (55 PB tested) JFS1  bytes Any byte except NUL No limit defined   JFS  bytes Any Unicode except NUL No limit defined   MFS  bytes Any byte except : No path (flat filesystem)   MicroDOS file system  bytes     MINIX V1 FS 14 or 30 bytes, set at filesystem creation time Any byte except NUL No limit defined   MINIX V2 FS 14 or 30 bytes, set at filesystem creation time Any byte except NUL No limit defined  , then 2 TB MINIX V3 FS  bytes Any byte except NUL No limit defined   NILFS  bytes Any byte except NUL No limit defined   NSS  characters Depends on namespace usedNSS allows files to have multiple names, in separate namespaces. Only limited by client   NTFS 255 charactersNTFS 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). NB: This article includes discussion of the NT & Win32 namespaces used by Windows APIs; these are distinct from the NTFS filename namespaces. Depends on namespace usedIn 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. 32,767 Unicode characters with each path component (directory or filename) commonly up to 255 characters long 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.  NWFS  bytesSome namespaces had lower name length limits. "LONG" had an 80-byte limit, "NWFS" 80 bytes, "NFS" 40 bytes and "DOS" imposed 8.3 filename. Depends on namespace used No limit defined   OCFS  bytes Any byte except NUL No limit defined   OCFS2  bytes Any byte except NUL No limit defined   ODS-5  bytesMaximum combined filename/filetype length is 236 bytes; each component has an individual maximum length of 255 bytes.  4,096 bytesMaximum pathname length is 4,096 bytes, but quoted limits on individual components add up to 1,664 bytes.   OS4000  bytes A–Z, 0–9Period is directory separator No limit defined   (at least) PramFS  bytes Any byte except NUL    QFS  bytes Any byte except NUL No limit defined 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.  ReFS  32,767 Unicode characters (255 Unicode characters in Windows 8/8.1)    32,767 Unicode characters in each path component   with 64 kB cluster size (264 × 64 × 210). Windows stack addressing allows 16 EB ReiserFS  bytes/226 characters Any byte except NUL No limit defined ReiserFS has a theoretical maximum file size of 1 EB, but "page cache limits this to 8TB on architectures with 32 bit int"  (v3.6), 2 GB (v3.5)  Reiser4  bytes Any byte except / and NUL No limit defined  on x86  Reliance  bytes OS specific    Reliance Nitro  bytes OS specific 1024 bytes   RT-11 6.3 A–Z, 0–9, $ Non-hierarchical  (65536 * 512)  IBM SFS 8.8  Non-hierarchical   UDF  bytes Any Unicode except NUL 1,023 bytesThis restriction might be lifted in newer versions.   (hard disk), 8 TB (optical disc)232 × block size UFS1  bytes Any byte except NUL No limit defined   UFS2  bytes Any byte except NUL No limit defined   V6FS  bytesSee manual  Any byte except NUL and /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. No limit definedThe 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. See manual   V7FS  bytesSee "dir (5)" in Volume 1 of the manual  Any byte except NUL and / No limit defined 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.  VxFS  bytes Any byte except NUL No limit defined   VMFS2  Any byte except NUL and / 2,048 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.  VMFS3  Any byte except NUL and / 2,048   XFS  bytesNote that the filename can be much longer XFS#Extended attributes Any byte except NUL No limit defined 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.  ZFS  bytes Any Unicode except NUL No limit defined   文件系统 最大文件名长度 允许的路径字符 最大路径长度 最大文件大小 最大卷大小

元数据
 文件系统 存储文件所有者 POSIX 文件权限 创建时间戳 上次访问/读取时间戳 上次修改时间戳 Disk copy created 上次元数据更改时间戳 上次存档时间戳 访问控制表 安全/MAC 标签 Extended attributes/ Alternate data streams/ forks 元数据校验和/ECC 最大时间戳分辨率 AdvFS             Be File System            Btrfs             1 nanosecond CBM DOS              CP/M file system   Implemented in later versions as an extension         DECtape            DOS (GEC)             Elektronika BK tape format            ext2        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.    1 second ext3             1 second ext3cow             1 second ext4            ext4 has group descriptor, journal and, starting from Linux kernel 3.5, metadata checksumming 1 nanosecond exFAT             10 milliseconds FAT12 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. 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. File creation and file access timestamps are supported only by DOS 7.0 and higher, and typically only when explicitly enabled.    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.    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.  10 milliseconds FAT16             10 milliseconds FAT32             10 milliseconds FFS             Fossil  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.           1 second GPFS            1 nanosecond GFS            HFS              HFS Plus             1 second HPFS The f-node contains a field for a user identifier.  This is not used except by OS/2 Warp Server, however.            High Sierra            ISO 9660:1988   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. Not applicable to file systems on a read-only medium. Available only if the file has an Extended Attribute block.        ISO 9660:1999            JFS            1 second Joliet ("CDFS")             Lanyard Filesystem             1 nanosecond Level-D            LFS             Lustre   Creation time is stored in the backing ext4 filesystem, but is not yet sent to clients.         Lustre has checksums for data over the network, but depends on backing filesystem and hardware for checksums of persistent data  NILFS       Planned  Planned   NTFS  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.        As of Vista, NTFS has support for Mandatory Labels, which are used to enforce Mandatory Integrity Control. See     100 nanoseconds NSS   The local time, timezone/UTC offset, and date are derived from the time settings of the reference/single timesync source in the NDS tree.      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.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.   NWFS            OCFS            OCFS2          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.  ODS-5         Record Management Services (RMS) attributes include record type and size, among many others.   OS4000             PramFS             1 second QFS            ReiserFS              Reiser4             Reliance            CRCs are employed for certain types of metadata.  Reliance Nitro  Linux port  Linux port        Linux port     UDF            UFS1        Access-control lists and MAC labels are layered on top of extended attributes.  Some operating systems implemented extended attributes as a layer over UFS1 with a parallel backing file (e.g., FreeBSD 4.x).   UFS2             V6FS             V7FS             VMFS2            VMFS3            VxFS             XFS            1 nanosecond ZFS         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. 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  1 nanosecond 文件系统 文件所有者 POSIX文件权限 创建时间戳 最后访问时间戳 最后修改时间戳 Disk copy created 最后元数据更改时间戳 最后归档时间戳 访问控制表 安全/MAC labels Extended attributes/ Alternate data streams/ forks 校验和/ECC 最大时间戳分辨率

特点
 文件系统 硬链接 符号链接 Block journaling Metadata-only journaling 大小写敏感 保留大小写 文件更改日志 Snapshot XIP  写时复制 Integrated LVM Data deduplication 卷可调整大小 Be File System               Btrfs          Planned    (via bedup)  CBM DOS               CP/M file system               DECtape               DOS (GEC)               ext2         Linux kernel versions 2.6.12 and newer.     Offline growing/shrinking as well as online growing:  ext3   Off by default.            ext3cow   Off by default.            ext4               exFAT               FAT12               FAT16               FAT32               FFS    "Write Ahead Physical Block Logging" in NetBSD, provides metadata journaling and consistency as an alternative to softdep.           Fossil           When used with venti.  When used with venti. When used with venti. GFS  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  Optional journaling of data           GPFS               HAMMER               HFS  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.             HFS Plus    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. 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).  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 .   As of OS X 10.7, HFS+ supports full volume file encryption known as Filevault 2.    Since Mac OS X Snow Leopard, online resizing is supported. HPFS               JFS     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.          Lanyard Filesystem               Level-D               LFS   UDF, LFS, and NILFS are log-structured file systems and behave as if the entire file system were a journal.            Lustre        in 2.0 and later Not available with ext3/4, but will be available with ZFS OST/MDT backing filesystems.      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 NILFS               NSS     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.  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 )        NTFS  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. NTFS stores everything, even the file data, as meta-data, so its log is closer to block journaling.  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.   NTFS does not internally support snapshots, but in conjunction with the Volume Shadow Copy Service can maintain persistent block differential volume snapshots.      (Windows Server 2012)  NWFS Available only in the "NFS" namespace.           Limited capability.  Volumes can span physical disks (volume segment)   OCFS               OCFS2        OCFS2 supports creating multiple write-able snapshots of regular files using REFLINK.       ODS-2  These are referred to as "aliases".             ODS-5               OS4000  Symlinks only visible to NFS clients. References and Off-Disk Pointers (ODPs) provide local equivalent.             PramFS               QFS               ReiserFS   Full block journaling for ReiserFS was not added to Linux 2.6.8 for obvious reasons.            Reiser4          Reiser4 supports transparent compression and encryption with the cryptcompress plugin which is the default file handler in version 4.1.     Reliance   File system implements reliability via atomic transactions.            Reliance Nitro      on OS          RT-11               UDF               UFS1               UFS2    "Soft dependencies" (softdep) in NetBSD, called "soft updates" in FreeBSD provide meta-data consistency at all times without double writes (journaling).Block level journals can be added by using gjournal module in FreeBSD.           V6FS               V7FS  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.             VxFS        VxFS provides an optional feature called "Storage Checkpoints" which allows for advanced file system snapshots.       VMFS2               VMFS3               XFS     Optionally no on IRIX and Linux.          ZFS   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.            文件系统 硬链接 符号链接 块日志 仅元数据日志 大小写敏感 保留大小写 文件更改日志 快照 XIP 加密 COW 集成LVM Data deduplication 卷可调整大小

Allocation and layout policies
 文件系统    Variable file block sizeVariable 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. Extent   稀疏文件 透明压缩 Be File System       Btrfs Btrfs can only inline files smaller than 3916B with its metadata      CBM DOS  only for .REL (record structured) files, up to 254 bytes/record     CP/M filesystem       DECtape       DOS (GEC)       ext2 Fragments were planned, but never actually implemented on ext2 and ext3.     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. ext3       ext3cow       ext4       exFAT       FAT12      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. FAT16       FAT32       FFS  8:1Other block:fragment size ratios supported; 8:1 is typical and recommended by most implementations.      Fossil      When used with venti. GFS Only for "stuffed" inodes      GPFS       HFS Plus       HPFS       JFS       only in JFS1 on AIX Level-D       LFS  8:1      Lustre       NSS       NILFS   Planned    NTFSOnly if formatted with 4kB-sized clusters or smaller NWFS 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.      OCFS       OCFS2       ODS-5       OS4000       PramFS       QFS       ReiserFS       Reiser4   In "extents" mode.    Reliance       Reliance Nitro       UDF    Depends on UDF implementation.   UFS1  8:1      UFS2  8:1      V6FS       V7FS       VMFS2       VMFS3       VxFS       XFS       ZFS When enabled, ZFS's logical-block based compression behaves much like tail-packing for the last block of a file.      文件系统   Variable file block size Extent   稀疏文件 透明压缩

支持的操作系统
 文件系统 DOS Windows 9x Windows NT Linux Mac OS Mac OS X FreeBSD BeOS Solaris AIX z/OS OS/2 Windows CE Windows Mobile VxWorks HP-UX Plan 9 BFS                  Btrfs                  DECtape                  exFAT                  ext2         只讀          ext3                  ext3cow                  ext4                  FAT12                   FAT16                  FAT32               Via dosFs.   FFS                  Fossil                  GFS                  HFS             with third-party app      HFS Plus                  HPFS                  IBM Spectrum Scale                  IBM HFS                  IBM zFS                  JFS                  Level-D                  LFS                  LTFS                  Lustre                  NILFS                  NSS                  NTFS                  NWFS                  OCFS                  OCFS2                  ODS-2                  ODS-5                  PramFS                  QFS                  ReFS                  Reiser4                  ReiserFS                  Reliance                  Reliance Nitro                  RT-11                  UDF                   UFS1                  UFS2                  VMFS2                  VMFS3                  VxFS                  XFS                  ZFS                  文件系统 DOS Windows 9x Windows NT Linux Mac OS Mac OS X FreeBSD BeOS Solaris AIX z/OS OS/2 Windows CE Windows Mobile VxWorks HP-UX Plan 9

参见
 压缩文件格式列表
 压缩软件比较
 压缩软件列表
 文件系统列表

注释

外部链接
A speed comparison of filesystems on Linux 2.4.5 (archived)
 Filesystems (ext3, reiser, xfs, jfs) comparison on Debian Etch  (April 23, 2006)

Category:文件系统