List of file systems: Difference between revisions

Content deleted Content added
AnomieBOT (talk | contribs)
m Dating maintenance tags: {{Advert}}
No edit summary
(46 intermediate revisions by 30 users not shown)
Line 1:
{{Short description|None}}
The following lists identify, characterize, and link to more thorough information on [[Computerfile filesystem]] systemss.
Many older [[operating system]]s support only their one "native" file system, which does not bear any name apart from the name of the operating system itself.
 
Line 12:
* [[Boot File System|BFS]] – the Boot File System used on System V release 4.0 and UnixWare.
* [[Be File System|BFS]] – the Be File System used on [[BeOS]], occasionally misnamed as BeFS. Open source implementation called OpenBFS is used by the [[Haiku (operating system)|Haiku]] operating system.
* '''[[VM (operating system)#Shared File System|Byte File System''']] (BFS) - file system used by [[z/VM]] for Unix applications
* [[Btrfs]] – is a [[copy-on-write]] file system for [[Linux]] announced by [[Oracle Corporation|Oracle]] in 2007 and published under the [[GNU General Public License]] (GPL).
* [[Veritas Cluster File System|CFS]] – The Cluster File System from Veritas, a Symantec company. It is the parallel access version of VxFS.
* [[CP/M]] file system — Native filesystem used in the CP/M (Control Program for Microcomputers) operating system which was first released in 1974.
* [[Disc Filing System|DFS]] – [[Acorn Computers Ltd|Acorn]]'s Disc filing system.
* [[Apple DOS|DOS 3.x]] – Original floppy operating system and file system developed for the [[Apple II]].
* [[Extent File System]] (EFS) – an older block filing system under [[IRIX]].
Line 21 ⟶ 22:
* [[ext2]] – Second extended file system, designed for [[Linux]] systems.
* [[ext3]] – A [[Journaling file system|journaled]] form of ext2.
* [[ext4]] – A follow -up for [[ext3]] and also a [[Journaling file system|journaled]] filesystem with support for [[extent (file systems)|extents]].
* [[ext3cow]] – A [[versioning file system]] form of ext3.
* [[File Allocation Table|FAT]] – File Allocation Table, initially used on [[DOS]] and [[Microsoft Windows]] and now widely used for portable USB storage and some other devices; [[FAT12]], [[FAT16]] and [[FAT32]] for 12-, [[16-bit|16-]] and [[32-bit]] table depths.
** [[Design of the FAT file system#VFAT|VFAT]] – Optional layer on [[Microsoft Windows]] FAT system to allow long (up to 255 character) filenames instead of only the [[8.3 filename]]s allowed in the plain FAT filesystem.
** [[FATX]] – A modified version of [[Microsoft Windows]] FAT system that is used on the original [[Xbox (console)|Xbox]] console.
* [[Amiga Fast File System|FFS (Amiga)]] – Fast File System, used on [[Amiga]] systems. This FS has evolved over time. Now counts FFS1, FFS Intl, FFS DCache, FFS2.
Line 39 ⟶ 40:
}}</ref><ref name=hammer_disk.h>{{cite web|url=http://bxr.su/d/sys/vfs/hammer/hammer_disk.h|title=hammer_disk.h|author=Matt Dillon|author-link=Matt Dillon (computer scientist)|website=BSD Cross Reference|publisher=[[DragonFly BSD]]|date=2017-09-23|access-date=2019-03-06}}</ref>
* [[HAMMER2]] — recommended as the default root filesystem in DragonFly since 5.2 release in 2018<ref name=hammer2-release52>{{cite web|url=https://www.dragonflybsd.org/release52/|title=DragonFly BSD 5.2|publisher=[[DragonFly BSD]]|date=2018-06-18|access-date=2019-03-06|quote=We can now recommend H2 as the default root filesystem in non-clustered mode.}}</ref><ref name=hammer2_disk.h>{{cite web|url=http://bxr.su/d/sys/vfs/hammer2/hammer2_disk.h|title=hammer2_disk.h|author=Matt Dillon|author-link=Matt Dillon (computer scientist)|website=BSD Cross Reference|publisher=[[DragonFly BSD]]|date=2018-05-05|access-date=2019-03-06}}</ref><ref name="hammer2_design">{{cite web|url=http://bxr.su/d/sys/vfs/hammer2/DESIGN|title=hammer2/DESIGN|author=Matt Dillon|author-link=Matt Dillon (computer scientist)|date=2018-12-09|website=BSD Cross Reference|publisher=[[DragonFly BSD]]|access-date=2019-03-06}}</ref>
* [[Hierarchical File System (IBM MVS)|HFS]] – Hierarchical File System in IBM's [[MVS]] from [[MVS#MVS/ESA|MVS/ESA OpenEdition]] through [[z/OS]] V2R4; not to be confused with Apple's HFS. HFSIBM isstated stillthat supported[[z/OS]] butusers IBM'sshould statedmigrate directionfrom isHFS to [[zFS (z/OS file system)|zFS]], and in z/OS V2R5 dropped support for HFS.
* [[Hierarchical File System (Apple)|HFS]] – Hierarchical File System, in use until HFS+ was introduced on Mac OS 8.1. Also known as Mac OS Standard format. Successor to Macintosh File System (MFS) & predecessor to HFS+; not to be confused with IBM's HFS provided with [[z/OS]]
* [[HFS Plus|HFS+]] – Updated version of Apple's HFS, Hierarchical File System, supported on Mac OS 8.1 & above, including macOS. Supports file system journaling, enabling recovery of data after a system crash. Also referred to as 'Mac OS Extended format or HFS Plus
* [[High Performance File System|HPFS]] – High Performance File System, used on [[OS/2]]
Line 59 ⟶ 60:
* [[Amiga Old File System|OFS]] – Old File System, on Amiga. Good for floppies, but fairly useless on hard drives.
* [[OS-9]] file system
* [[Professional File System|PFS]] – and PFS2, PFS3, etc. Technically interesting file system available for the [[Amiga]], performs very well under a lot of circumstances. Very simple and elegant.
* [[PRODOSApple ProDOS|ProDOS]] – Operating system and file system successor to [[Apple Inc.|DOS 3.x]], for use on [[Apple's computersII prior to the Macintosh & Lisaseries]] computers, the Apple series, including the [[Apple IIGS|IIgs]]
* [[Qnx4fs]] – File system that is used in [[QNX]] version 4 and 6.
* [[ReFS|ReFS (Resilient File System)]] – New fileFile system by [[Microsoft]] that is built on the foundations of [[NTFS]] (but cannot boot, haswith a defaultparticular clusterfocus sizeon ofdata 64 KBresilience andin doesserver not support compression) and is intended to be used with the [[Windows Server 2012]] operating systemenvironments.
* [[ReiserFS]] – File system that uses [[journaling file system|journaling]]
* [[Reiser4]] – File system that uses [[journaling file system|journaling]], newest version of ReiserFS
* [[Reliance (file system)|Reliance]] – Datalight's transactional file system for high reliability applications
* [[Reliance Nitro]] – Tree-based transactional, [[copy-on-write]] file system developed for high-performance embedded systems, from Datalight (Acquired by [[Tuxera]] in 2019)<ref name=":0">{{Cite web |last=Tuxera |date=2019-06-05 |title=Tuxera acquires mission-critical embedded flash storage leader Datalight |url=https://www.tuxera.com/blog/tuxera-acquires-mission-critical-embedded-flash-storage-leader-datalight/ |access-date=2024-06-28 |website=Tuxera |language=en-US}}</ref>
* [[Remote File System|RFS]] – Native filesystem for [[RTEMS]]<ref name="rfs">{{cite web|title=RTEMS File System|url=http://www.rtems.org/wiki/index.php/RTEMS_File_System|access-date=20 April 2013}}</ref>
* [[SkyFS]] – Developed for [[SkyOS]] to replace BFS as the operating system's main file system. It is based on BFS, but contains many new features.
Line 84 ⟶ 85:
=== File systems with built-in fault-tolerance ===
These file systems have built-in checksumming and either mirroring or parity for extra redundancy on one or several block devices:
* [[Bcachefs]] – It's not yet upstream, fullFull data and metadata checksumming,<ref>{{cite web|title=Bcachefs main site|last1=Overstreet|first1=Kent|url=https://bcachefs.org/}}</ref><ref>{{cite web|title=LWN - An update on bcachefs|last1=Edge|first1=Jake|url=https://lwn.net/Articles/755276/}}</ref> [[bcache]] is the bottom half of the filesystem. Included in Linux kernel since 6.7<ref>{{cite web|title=Bcachefs merged in linux 6.7|url=https://www.phoronix.com/news/Bcachefs-Merged-Linux-6.7}}</ref><ref>{{cite web|title=Bcachefs on Patreon|last1=Overstreet|first1=Kent|url=https://www.patreon.com/bcachefs/}}</ref>
* [[Btrfs]] – A file system based on [[B-Tree]]s, initially designed at [[Oracle Corporation]].
* [[HAMMER (file system)|HAMMER]] and [[HAMMER2]] – [[DragonFly BSD]]'s primary filesystems, created by [[Matt Dillon (computer scientist)|Matt Dillon]].<ref name=lwn-hammer-2010/><ref name=hammer_disk.h/><ref name=hammer2_disk.h/><ref name=hammer2_design/>
Line 90 ⟶ 91:
* [[ReFS|ReFS (Resilient File System)]] – A file system by [[Microsoft]] with built-in resiliency features.
* [[Reliance (file system)|Reliance]] – A transactional file system with [[cyclic redundancy check|CRCs]], created by Datalight.
* [[Reliance Nitro]] – A tree-based transactional, [[copy-on-write]] file system with CRCs, developed for high performance and reliability in embedded systems, from Datalight (Acquired by [[Tuxera]] in 2019)<ref name=":0" />.
* [[ZFS]] – Has checksums for all data; important metadata is always redundant, additional redundancy levels are user-configurable; [[copy-on-write]] and transactional writing ensure metadata consistency; corrupted data can be automatically repaired if a redundant copy is available. Created by [[Sun Microsystems]] for use on [[Solaris (operating system)|Solaris]] 10 and [[OpenSolaris]], ported to [[FreeBSD]] 7.0, [[NetBSD]] (as of August 2009), [[Linux]] and to [[Filesystem in Userspace|FUSE]] (not to be confused with the two zFSes from [[IBM]])
 
Line 112 ⟶ 113:
* [[NOVA (filesystem)|NOVA]] – the "non-volatile memory accelerated" file system for persistent main memory.
* [[One File System|OneFS]] – a filesystem utilized by [[Isilon Systems|Isilon]]. It supports selective placement of meta-data directly onto flash SSD.
* [https://www.tuxera.com/products/reliance-velocity-flash-file-system/ Reliance Velocity] - a proprietary flash file system by [[Tuxera]] with high resilience (fail-safe technology) and built-in data integrity. This file system is best suited for embedded applications requiring heavy data workloads over long-term operations. Reliance Velocity can used for all block based media like [[MultiMediaCard|eMMC]], [[Universal Flash Storage|UFS]], eSD, [[SD card]], [[CompactFlash|CF card]], and [[Solid-state drive|SSD]]. It is compatible for [[Linux]], [[Android (operating system)|Android]] and [[QNX]] with portability to other embedded operating systems.
* [https://www.tuxera.com/products/reliance-edge/ Reliance Edge] - a proprietary file system by [[Tuxera]] for resource-constrained embedded systems. It has built-in [[data integrity]] with [[copy-on-write]] transactional technology and [[Deterministic algorithm|deterministic]] operations. This file system can be used for block based media and is configurable for Small [[POSIX]], Full POSIX and can be ported to many [[Real-time operating system|RTOS]] environments. Tuxera has a certified version of this file system called [https://www.tuxera.com/products/reliance-assure/ Reliance Assure]. The source code of Reliance Assure is complaint to [[MISRA C]] and developed following the [[Automotive SPICE|ASPICE]] framework.
* [[Segger Microcontroller Systems]] emFile – filesystem for deeply embedded applications which supports both NAND and NOR flash. Wear leveling, fast read and write, and very low RAM usage.
* [[SPIFFS]] – SPI Flash File System, a wear-leveling filesystem intended for small NOR flash devices.
Line 132 ⟶ 135:
* Sequential access methods for IBM's [[z/OS]] and [[z/VSE]] mainframe operating systems: [[Basic Sequential Access Method]] (BSAM), [[Basic Partitioned Access Method]] (BPAM) and [[Queued Sequential Access Method]] (QSAM); see [[Access methods]] and [[Data set (IBM mainframe)]] for more examples
* [[Pick Operating System]] – A record-oriented filesystem and database that uses hash-coding to store data.
* '''[[VM (operating system)#Shared File System|Shared File System''']] (SFS) for IBM's [[VM (operating system)|VM]]
* [[Virtual Storage Access Method]] (VSAM){{snd}} for IBM's [[z/OS]] and [[z/VSE]] mainframe operating systems
 
Line 140 ⟶ 143:
Shared-disk file systems may be [[symmetric]] where [[metadata]] is distributed among the nodes or [[asymmetry|asymmetric]] with centralized [[metadata]] servers.
 
* [[CXFS]] (Clustered XFS) from [[Silicon Graphics]] (SGI). Available for Linux, Mac, Windows, Solaris, AIX and IRIX,. Asymmetric.
* [[Dell Fluid File System]] (formerly ExaFS) [[proprietary software]] sold by [[Dell]]. Shared-disk system sold as an appliance providing distributed file systems to clients. Running on Intel based hardware serving NFS v2/v3, SMB/CIFS and AFP to [[Microsoft Windows|Windows]], [[macOS]], [[Linux]] and other [[UNIX]] clients.
* [[Blue Whale Clustered file system]] (BWFS) from [[Tianjin Zhongke Blue Whale Information Technologies Co., Ltd.|Zhongke Blue Whale]]. Asymmetric. Available for [[Microsoft Windows]], [[Linux]], and [[macOS]].
Line 189 ⟶ 192:
* [[Tahoe-LAFS]] is an open source secure, decentralized, fault-tolerant filesystem utilizing encryption as the basis for a least-authority replicated design.
* A [[FAT12]] and [[FAT16]] (and [[FAT32]]) extension to support automatic file distribution across nodes with extra attributes like ''local'', ''mirror on update'', ''mirror on close'', ''compound on update'', ''compound on close'' in IBM [[4680 OS]] and Toshiba [[4690 OS]]. The distribution attributes are stored on a file-by-file basis in [[Design of the FAT file system#DIR|special entries]] in the directory table.<ref name="IBM_4690_OS_Distribution_Attributes_1">IBM (2003). ''Information about 4690&nbsp;OS unique file distribution attributes'', IBM document R1001487, 2003-07-30. ({{cite web |url=http://www-01.ibm.com/support/docview.wss?uid=pos1R1001487 |title=IBM Information about 4690 OS unique file distribution attributes - United States |access-date=2014-05-20 |url-status=dead |archive-url=https://web.archive.org/web/20140521070339/http://www-01.ibm.com/support/docview.wss?uid=pos1R1001487 |archive-date=2014-05-21 }}): "[...] file types are stored in the "Reserved bits" portion of the PC-DOS file directory structure [...] only 4690 respects and preserves these attributes. Various non-4690 operating systems take different actions if these bits are turned on [...] when copying from a diskette created on a 4690 system. [...] PC-DOS and Windows 2000 Professional will copy the file without error and zero the bits. OS/2 [...] 1.2 [...] will refuse to copy the file unless [...] first run CHKDSK /F on the file. After [...] CHKDSK, it will copy the file and zero the bits. [...] when [...] copy [...] back to the 4690 system, [...] file will copy as a local file."</ref><ref name="IBM_4690_OS_Distribution_Attributes_2">IBM. ''4690 save and restore file distribution attributes''. IBM document R1000622, 2010-08-31 ({{cite web |url=http://www-01.ibm.com/support/docview.wss?uid=pos1R1000622 |title=IBM 4690 save and restore file distribution attributes - United States |access-date=2014-05-20 |url-status=dead |archive-url=https://web.archive.org/web/20140521070536/http://www-01.ibm.com/support/docview.wss?uid=pos1R1000622 |archive-date=2014-05-21 }}).</ref>
* [[OpenHarmony]] Distributed File System (HMDFS) used for [[Huawei]]'s [[HarmonyOS]] with [[HarmonyOS NEXT]] base and [[OpenHarmony]]-based operating systems, alongside [[EulerOS|openEuler]] server OS that is a cross-device file access where devices can read and edit files on transparently when the two devices are connected to the same network with [[Access token manager]]. Multiple embedded devices connected to the network can automatically synchronise file data with the edge server.<ref>{{Cite web |title=distributed-fs-overview |url=https://docs.openeuler.org/en/docs/22.03_LTS_SP3/docs/Distributed/distributed-fs-overview.html |access-date=2024-05-23 |website=docs.openeuler.org}}</ref>
 
 
=== Distributed parallel file systems ===
Line 195 ⟶ 200:
Some of the distributed parallel file systems use an [[object storage device]] (OSD) (in Lustre called OST) for chunks of data together with centralized [[metadata]] servers.
 
*[[BeeGFS|BeeGFS]] is a hardware-independent parallel file system that features distributed metadata and striping of files across multiple targets, such as NVMe devices or logical volumes.
*[[Lustre (file system)|Lustre]] is an [[Open-source software|open-source]] high-performance distributed parallel file system for Linux, used on many of the largest computers in the world.
*[[Parallel Virtual File System]] (PVFS, PVFS2, [[OrangeFS]]). Developed to store virtual system images, with a focus on non-shared writing optimizations. Available for [[Linux]] under [[GNU General Public License|GPL]].
Line 253 ⟶ 259:
|-
| [[Gfarm file system]]
| [http://oss-tsukuba.org/en/ NPO Tsukuba OSS Technical Support Center]
| <!--By--> Asia Pacific Grid
| [[X11 License]]
| [[Linux]], [[macOS]], [[FreeBSD]], [[NetBSD]] and [[Solaris (operating system)|Solaris]]
| Uses [[OpenLDAP]] or [[PostgreSQL]] for metadata and [[FUSE (Linux)|FUSE]] or [[Linux Userland Filesystem|LUFS]] for mounting.
|-
| [[GlusterFS]]
Line 335 ⟶ 341:
| [[Linux]], [[macOS]], [[FreeBSD]]
| A [[POSIX]]-compliant, high-performance, [[Parallel File System|parallel filesystem]] used by [[High Performance Computing|HPC]] clusters. It uses [[erasure code|erasure coding]] and snapshots for data protection, is based upon a [[Scale out|scale-out]] [[Object storage|object store]], and is focused on transparent failure recovery and ease of use.
|-
|[https://www.quobyte.com/editions-features/ Quobyte DCFS]
|[https://www.quobyte.com/ Quobyte]
| [[Proprietary software|Proprietary]]
|[[Linux]], [[macOS]], [[FreeBSD]]
|A fault-tolerant, [[Parallel File System|parallel]] [[POSIX]] file system, with block (VMs) and object (S3) interfaces, and advanced enterprise features like [[Multitenancy|multi-tenancy]], strong authentication, encryption. [[Split-brain (computing)|Split-brain]] safe fault-tolerance is achieved through [[Paxos (computer science)|Paxos]]-based [[leader election]] and [[Erasure code|erasure coding]].
|-
| [[RozoFS]]
Line 353 ⟶ 365:
| [[Microsoft Windows|Windows]], [[Linux]], [[macOS]]
| A secure, decentralized, fault-tolerant, [[peer-to-peer]] [[distributed data store]] and [[distributed file system]].
|-
| [[WekaFS]]
| WekaIO
| [[Proprietary software|Proprietary]]
| [[Linux]], [[macOS]], [[Microsoft Windows]]<ref>docs.weka.io</ref>
| {{Advert|date=February 2023}} WekaFS, a modern file system optimized for NVMe and the hybrid cloud that handles the most demanding storage challenges in the most data-intensive technical computing environments, delivering epic performance at any scale. Comprehensive enterprise features set that includes Distributed Data Protection (similar to Erasure Coding), instantaneous snapshots, tiering to S3 datastores, runs in the cloud or on-prem. High throughput and low-latency combined without specific tuning. Fully POSIX-compliant filesystem, with proprietary client protocol, NFS, SMB, and S3 protocols for access.
|-
| [[XtreemFS]]
Line 378 ⟶ 384:
Some of these may be called [[cooperative storage cloud]].
 
* [[CleversafeIBM Cloud Object Storage]] uses Cauchy [[Reed–Solomon error correction|Reed–Solomon]] [[information dispersal algorithms]] to separate data into unrecognizable slices and distribute them, via secure Internet connections, to multiple storage locations.
* [[Scality]] is a distributed filesystem using the [[Chord (peer-to-peer)|Chord]] peer-to-peer protocol.
* [[IPFS]] InterPlanetary File System is p2p, worldwide distributed content-addressable, file-system.
Line 394 ⟶ 400:
* [[Freenet]] – Decentralized, censorship-resistant
* [[FTPFS]] (FTP access)
* [[GmailFS]] (Google Mail File System)
* GridFS – GridFS is a specification for storing and retrieving files that exceed the BSON-document size limit of 16 MB for [[MongoDB]].
* [[lnfs]] (long names)
* [[LTFS]] (Linear Tape File System for LTO and Enterprise tape)
* [[MultiVersion File System|MVFS]] – MultiVersion File System, proprietary, used by [[RationalIBM DevOps Code ClearCase]].
* [https://nexustorage.com Nexfs] Combines Block, File, Object and Cloud storage into a single pool of auto-tiering POSIX compatible storage.
* [[OverlayFS]] – A [[union mount]] [[filesystem]] implementation for [[Linux]]. Used mainly by [[Docker (software)|Docker]] for its image layers.
Line 405 ⟶ 411:
* [[UMSDOS]], [[UVFAT]] – FAT file systems extended to store permissions and metadata (and in the case of UVFAT, [[VFAT]] long file names), used for Linux
* [[UnionFS]] – stackable unification file system, which can appear to merge the contents of several directories (branches), while keeping their physical content separate
* [[Venti (software)|Venti]] – Plan 9 de-duplicated storage used by [[Fossil (file system)|Fossil]].
 
=== Pseudo file systems ===
Line 419 ⟶ 425:
 
=== Encrypted file systems ===
 
{{See also|Rubberhose (file system)}}
 
* [[eCryptfs]] – a stacked cryptographic file system in the Linux kernel since 2.6.19
* [[SSHFS|Secure Shell File System]] (SSHFS) – locally mount a remote directory on a server using only a [[secure shell]] login.
* [[EncFS]], GPL [[Disk encryption software|Encrypted file system]] in user-space
* [[MaruTukku|Rubberhose filesystem]]
* [[Encrypting File System|EFS]] – an encrypted file system for [[Microsoft Windows]] systems and [[AIX operating system|AIX]]. An extension of [[NTFS]]
* [[ZFS]], with encryption support.
Line 432 ⟶ 439:
* [[Linux Userland Filesystem|LUFS]] (Linux userland file system – seems to be abandoned in favour of [[FUSE (linux)|FUSE]])
* [[Pass-to-Userspace Framework File Fystem|PUFFS]] (Userspace filesystem for NetBSD, including a compatibility layer called '''librefuse''' for porting existing FUSE-based applications)
* [[SSHFS|Secure Shell File System]] (SSHFS) – locally mount a remote directory on a server using only a [[secure shell]] login.
* [[Virtual file system|VFS]] Virtual Filesystem