The following lists identify, characterize, and link to more thorough information on file systems.
Many older operating systems support only their one "native" file system, which does not bear any name apart from the name of the operating system itself.
Disk file systems
Disk file systems are usually block-oriented. Files in a block-oriented file system are sequences of blocks, often featuring fully random-access read, write, and modify operations.
ADFS – Acorn's Advanced Disc filing system, successor to DFS.
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- and 32-bit table depths.
VFAT – Optional layer on Microsoft Windows FAT system to allow long (up to 255 character) filenames instead of only the 8.3 filenames allowed in the plain FAT filesystem.
FATX – A modified version of Microsoft Windows FAT system that is used on the original Xbox console.
FFS (Amiga) – Fast File System, used on Amiga systems. This FS has evolved over time. Now counts FFS1, FFS Intl, FFS DCache, FFS2.
HAMMER2 — recommended as the default root filesystem in DragonFly since 5.2 release in 2018[3][4][5]
HFS – Hierarchical File System in IBM's MVS from MVS/ESA OpenEdition through z/OS V2R4; not to be confused with Apple's HFS. IBM stated that z/OS users should migrate from HFS to zFS, and in z/OS V2R5 dropped support for HFS.
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+ – 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
NSS – Novell Storage Services. This is a new 64-bit journaling file system using a balanced tree algorithm. Used in NetWare versions 5.0-up and recently ported to Linux.
OneFS – One File System. This is a fully journaled, distributed file system used by Isilon. OneFS uses FlexProtect and Reed–Solomon encodings to support up to four simultaneous disk failures.
OFS – Old File System, on Amiga. Good for floppies, but fairly useless on hard drives.
Reiser4 – File system that uses journaling, newest version of ReiserFS
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)[7]
VTOC (Volume Table Of Contents) - Data structure on IBM mainframe direct-access storage devices (DASD) such as disk drives that provides a way of locating the data sets that reside on the DASD volume.
Reliance – A transactional file system with 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).[7]
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 10 and OpenSolaris, ported to FreeBSD 7.0, NetBSD (as of August 2009), Linux and to FUSE (not to be confused with the two zFSes from IBM)
File systems optimized for flash memory, solid state media
Solid state media, such as flash memory, are similar to disks in their interfaces, but have different problems. At low level, they require special handling such as wear leveling and different error detection and correction algorithms. Typically a device such as a solid-state drive handles such operations internally and therefore a regular file system can be used. However, for certain specialized installations (embedded systems, industrial applications) a file system optimized for plain flash memory is advantageous.
APFS – Apple File System is a next-generation file system for Apple products.
exFAT – Microsoft proprietary system intended for flash cards (see also XCFiles, an exFAT implementation for Wind RiverVxWorks and other embedded operating systems).
NOVA – the "non-volatile memory accelerated" file system for persistent main memory.
OneFS – a filesystem utilized by Isilon. It supports selective placement of meta-data directly onto flash SSD.
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 eMMC, UFS, eSD, SD card, CF card, and SSD. It is compatible for Linux, Android and QNX with portability to other embedded operating systems.
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 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 RTOS environments. Tuxera has a certified version of this file system called Reliance Assure. The source code of Reliance Assure is complaint to MISRA C and developed following the 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.
TFAT – a transactional version of the FAT filesystem.
TrueFFS – internal file system for SSDs, implementing error correction, bad block re-mapping and wear-leveling.
Write Anywhere File Layout (WAFL) – an internal file system utilized by NetApp within their DataONTAP OS, originally optimized to use non-volatile DRAM. WAFL uses RAID-DP to protect against multiple disk failures and NVRAM for transaction log replays.
YAFFS – a log-structured file system designed for NAND flash, but also used with NOR flash.
LittleFS – a little fail-safe filesystem designed for microcontrollers.
JesFS – Jo's embedded serial FileSystem.[16] A very small footprint and robust filesystem, designed for very small microcontroller (16/32 bit). Open Source and licensed under GPL v3.
Record-oriented file systems
In record-oriented file systems files are stored as a collection of records. They are typically associated with mainframe and minicomputer operating systems. Programs read and write whole records, rather than bytes or arbitrary byte ranges, and can seek to a record boundary but not within records. The more sophisticated record-oriented file systems have more in common with simple databases than with other file systems.
Files-11 – early versions were record-oriented; support for "streams" was added later
Michigan Terminal System (MTS) – provides "line files" where record lengths and line numbers are associated as metadata with each record in the file, lines can be added, replaced, updated with the same or different length records, and deleted anywhere in the file without the need to read and rewrite the entire file.[17]
A FAT12 and FAT16 (and FAT32) extension to support database-like file types random file, direct file, keyed file and sequential file in Digital Research FlexOS, IBM 4680 OS and Toshiba 4690 OS.[18] The record size is stored on a file-by-file basis in special entries in the directory table.[19]
Shared-disk file systems (also called shared-storage file systems, SAN file system, Clustered file system or even cluster file systems) are primarily used in a storage area network where all nodes directly access the block storage where the file system is located. This makes it possible for nodes to fail without affecting access to the file system from the other nodes. Shared-disk file systems are normally used in a high-availability cluster together with storage on hardware RAID. Shared-disk file systems normally do not scale over 64 or 128 nodes.
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 Windows, macOS, Linux and other UNIX clients.
Distributed file systems are also called network file systems. Many implementations have been made, they are location dependent and they have access control lists (ACLs), unless otherwise stated below.
Andrew File System (AFS) is scalable and location independent, has a heavy client cache and uses Kerberos for authentication. Implementations include the original from IBM (earlier Transarc), Arla and OpenAFS.
OS4000 Linked-OS provides distributed filesystem across OS4000 systems.
Self-certifying File System (SFS), a global network file system designed to securely allow access to file systems across separate administrative domains.
Server Message Block (SMB) originally from IBM (but the most common version is modified heavily by Microsoft) is the standard in Windows-based networks. SMB is also known as Common Internet File System (CIFS). SMB may use Kerberos authentication.
Distributed fault-tolerant file systems
Distributed fault-tolerant replication of data between nodes (between servers or servers/clients) for high availability and offline (disconnected) operation.
Coda from Carnegie Mellon University focuses on bandwidth-adaptive operation (including disconnected operation) using a client-side cache for mobile computing. It is a descendant of AFS-2. It is available for Linux under the GPL.
LizardFS a networking, distributed file system based on MooseFS[20]
Moose File System (MooseFS) is a networking, distributed file system. It spreads data over several physical locations (servers), which are visible to a user as one resource. Works on Linux, FreeBSD, NetBSD, OpenSolaris and macOS. Master server and chunkservers can also run on Solaris and Windows with Cygwin.
Scality is a distributed fault-tolerant filesystem.
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 special entries in the directory table.[21][22]
OpenHarmony Distributed File System (HMDFS) used for Huawei's HarmonyOS with HarmonyOS NEXT base and OpenHarmony-based operating systems, alongside 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.[23]
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 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 is an 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 GPL.
A free to use file system with optional professional support, designed for easy usage and high performance, used on some of the fastest computer clusters in the world. BeeGFS allows replication of storage volumes with automatic failover and self-healing.
A massively scalable object store. CephFS was merged into the Linux kernel in 2010. Ceph's foundation is the reliable autonomic distributed object store (RADOS), which provides object storage via programmatic interface and S3 or Swift REST APIs, block storage to QEMU/KVM/Linux hosts, and POSIX filesystem storage which can be mounted by Linux kernel and FUSE clients.
It's a FUSE-based, transparent replication file system, layering on an existing file system and implementing at the file system level what RAID 1 does at the device level. A notably convenient consequence is the possibility of picking single target directories, without the need of replicating entire partitions. (The project has no visible activity after 2008, a status request in Oct. 2009 in the chironfs-forum is unanswered.)
A POSIX-compliant, high-performance, parallel filesystem. Support synchronous replication between attached block storage, and asynchronous replication to remote filesystems. Also support erasure coding on dual homed SAS attached storage, and distributed over multiple storage nodes.
A general purpose distributed file system for scalable storage. It aggregates various storage bricks over Infiniband RDMA or TCP/IP interconnect into one large parallel network file system. GlusterFS is the main component in Red Hat Storage Server.
An open-source POSIX-compliant file system built on top of Redis and object storage (e.g. Amazon S3), designed and optimized for cloud native environment.
A POSIX-compliant, high-performance filesystem used on a majority of systems in the Top-500 list of HPC systems. Lustre has high availability via storage failover.
Highly scalable, POSIX compliant, fault tolerant, read/write filesystem with a distributed, fault tolerant metadata service. It provides an HDFS and NFS interface to clients as well as a noSQL table interface and Apache Kafka compatible messaging system.
A fault tolerant, highly available and high performance scale-out network distributed file system. It spreads data over several physical commodity x86 servers, which are visible to the user as one namespace. For standard file operations MooseFS acts like any other Unix-like file systems.
OIO-FS provides file-oriented access to OpenIO SDSobject storage backend. It is based on FUSE technology and presents a POSIX file system to users. This access can be used locally, or over a network using NFS or SMB.[28]
A cross-platform file system for wide area networks. It replicates the data for fault tolerance and caches metadata and data to improve performance over high-latency links. SSL and X.509 certificates support makes XtreemFS usable over public networks. It also supports striping for usage in a cluster.
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 – Plan 9 de-duplicated storage used by Fossil.
Pseudo file systems
devfs – a virtual file system in Unix-like operating systems for managing device nodes on-the-fly
procfs – a pseudo-file system, used to access kernel information about processes
tmpfs – in-memory temporary file system (on Unix-like platforms)
sysfs – a virtual file system in Linux holding information about buses, devices, firmware, filesystems, etc.
debugfs – a virtual file system in Linux for accessing and controlling kernel debugging
configfs – a writable file system used to configure various kernel components of Linux
kernfs – a file system found on some BSD systems (notably NetBSD) that provides access to some kernel state variables; similar to sysctlfs, Linux procfs and Linux sysfs.
WinFS - Uses a relational database to manage files
wikifs – a server application for Plan 9's virtual, wiki, file system
^IBM. 4690 OS Programming Guide Version 5.2, IBM document SC30-4137-01, 2007-12-06 ([1]).
^Caldera (1997). Caldera OpenDOS Machine Readable Source Kit 7.01. The FDOS.EQU file in the machine readable source kit has equates for the corresponding directory entries.
^IBM (2003). Information about 4690 OS unique file distribution attributes, IBM document R1001487, 2003-07-30. ("IBM Information about 4690 OS unique file distribution attributes - United States". Archived from the original on 2014-05-21. Retrieved 2014-05-20.): "[...] 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."