List of file systems
From Wikipedia, the free encyclopedia
The following lists identify, characterize and link to more thorough information on computer 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. Examples of such include the CP/M file system and the Apple DOS file system. These unnamed file systems don't appear in the following list.
Contents |
[edit] Disk file systems
Disk file systems are usually stream-oriented. Files in a stream-oriented file system are sequences of bytes, often featuring fully random-access read, write, and modify operations.
- ADFS – Acorn's Advanced Disc filing system, successor to DFS.
- AdvFS - Advanced File System, designed by Digital Equipment Corporation for their Digital UNIX/Tru64 UNIX operating system.
- AFS (Not to be confused with Andrew File System, below) – Acer Fast Filesystem, used on SCO OpenServer
- AthFS - AtheOS File System, a 64-bit journaled filesystem now used by Syllable. Also called AFS
- AFS - Ami File Safe, a commercial filesystem shipped on Amiga in the 90's (AFS is structure compatible with PFS)
- BFS – the Be File System used on BeOS, occasionally misnamed as BeFS. Open source implementation called OpenBFS is used by the Haiku Operating System.
- Btrfs - A filesystem based on B-Trees, created by Oracle Corporation.
- CBMFS – The filesystem used on most Commodore 64-compatible floppy drives including the venerable 1541.
- CMDFS – A filesystem extension added to CBMFS by Creative Micro Designs, for use in their 3.5 inch floppy drives, RAM disks, and hard drive controllers.
- DTFS – Desktop File System, featuring file compression, used by SCO OpenServer
- EAFS – Extended Acer Fast Filesystem, used on SCO OpenServer
- Extent File System (EFS) – an older block filing system under IRIX.
- ext – Extended file system, designed for Linux systems
- ext2 – Second extended file system, designed for Linux systems.
- ext3 – A journalled form of ext2.
- ext3cow – A versioning file system form of ext3.
- ext4 – A new version of ext3, with support for extents.
- FAT – File Allocation Table, used on DOS and Microsoft Windows, 12-, 16- and 32-bit table depths.
- VFAT – Version of Microsoft Windows FAT system with extension to allow long (up to 255 character) filenames instead of only the 8.3 filenames allowed in the original FAT.
- 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.
- FFS – Fast File System, used on *BSD systems
- Fossil – Plan 9 from Bell Labs snapshot archival file system.
- Files-11 – OpenVMS file system; also used on some PDP-11 systems; supports record-orientated files
- HFS – Hierarchical File System, used on older Mac OS systems. Successor to Macintosh File System (MFS) and predecessor to HFS+.
- HFS Plus – Updated version of HFS, used on newer Mac OS systems. Also called HFS+. Recent versions allow journaling.
- HPFS – High Performance File System, used on OS/2
- HTFS – High Throughput Filesystem, used on SCO OpenServer
- ISO 9660 – Used on CD-ROM and DVD-ROM discs (Rock Ridge and Joliet are extensions to this)
- JFS – IBM Journaling file system, provided in Linux, OS/2, and AIX. Supports extents.
- LFS – 4.4BSD implementation of a log-structured file system
- MFS – Macintosh File System, used on early Mac OS systems. Succeeded by Hierarchical File System (HFS).
- MFS – Tivo's Media File System, a proprietary fault tolerant format used on Tivo hard drives for real time recording from live TV.
- Minix file system – Used on Minix systems
- NILFS – Linux implementation of a log-structured file system
- NTFS – (New Technology File System) Used on Windows NT, Windows 2000, Windows XP, Windows Server 2003 and Windows Vista systems
- NetWare File System - The original NetWare 2.x - 5.x file system, used optionally by later versions.
- 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.
- OFS – Old File System, on Amiga. Nice for floppies, but fairly useless on hard drives.
- 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.
- Qnx4fs - File system that is used in QNX.
- ReiserFS – File system that uses journaling
- Reiser4 – File system that uses journaling, newest version of ReiserFS
- S51K – AT&T UNIX System V 1KB Filesystem, used by SCO OpenServer
- SpadFS - Linux - non-journaling, hashing lookup
- SFS – Smart File System, journaling file system available for the Amiga platforms.
- 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.
- UDF – Packet based file system for WORM/RW media such as CD-RW and DVD.
- UFS – Unix File System, used on older BSD systems
- UFS2 – Unix File System, used on newer BSD systems
- VxFS Veritas file system, first commercial journaling file system[citation needed]; HP-UX, Solaris, Linux, AIX
- VLIR (Variable Length Indexed Record) – a filesystem extension added by Berkeley Softworks to CBMFS, allowing full random access read and write operations, for computers running GEOS.
- WinFS - Windows Future Storage, currently still in beta and in use internally at Microsoft, it is planned as the successor to NTFS. It is uncertain whether it will be available as a service pack for Windows Vista or if it will be shipped with a later version of Windows.
- WAFL – Write Anywhere File Layout. High performance, log-structured like file system. WAFL uses RAID-DP to protect against multiple disk failures, and NVRAM for transaction log replays. Used on NetApp systems
- XFS – Used on SGI IRIX and Linux systems
- ZFS – Used on Solaris 10 and OpenSolaris, ported to FreeBSD 7.0 and to FUSE (not to be confused with zFS from IBM)
- STL (standard language file system) - a file system developed by IBM [1].
[edit] Flash memory / solid state media file systems
Solid state media like Flash memory are similar to disks in their interfaces, but have different problems. While eliminating seek times, they require special handling such as Wear leveling and Error detection and correction algorithms.
- FAT – Originally a disk file system, it is now commonly used on memory cards because of its simplicity and ubiquity. FAT32 file size limit is 232-1 null bytes (4 Gigabytes)
- FFS2 (presumably preceded by FFS1), one of the earliest flash file systems. Developed and patented by Microsoft in the early 1990s.[2]
- exFAT - Microsoft proprietary system intended for flash drives but often called FAT64 - limit of 264 bytes (16 Exabytes)
- TFAT – A transactional version of the FAT filesystem.
- JFFS – Original log structured Linux file system for NOR flash media
- JFFS2 – Successor of JFFS, for NAND and NOR flash
- LogFS – Intended to replace JFFS2, better scalability. In early development.
- Non-Volatile File System -- the "non-volatile file system" for flash memory introduced by Palm, Inc..
- YAFFS – A Log structured file system designed for NAND flash, but also used with NOR flash.
[edit] Record-oriented file systems
In Record-oriented file systems files are stored as a collection of records. They are associated with older 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.
- Files-11 – early versions were record-oriented; support for "streams" was added later
- Virtual storage access method (VSAM) – Used on System/370 and MVS
- Structured File Server (SFS) — A record-oriented file system from IBM, originally part of the Encina[3] system, now integrated into CICS.[4]
- RSD (record sequential delimited) - A record-oriented file system from IBM [5]
[edit] Shared disk file systems
Shared disk file systems (also called shared storage file systems, SAN 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.
Shared disk file systems may be symmetric where metadata is distributed among the nodes or asymmetric with centralized metadata servers.
The current world record in file system performance (January 2006) is held by GPFS from IBM with 134 GB/s sustained read/write to a single file on the ASC Purple at Lawrence Livermore National Laboratory, the current third fastest supercomputer.
- CXFS (Clustered XFS) from Silicon Graphics (SGI). Available for AIX, IRIX, Linux, Solaris and Windows. Asymmetric.
- EMC Celerra HighRoad from EMC. Available for AIX, HP-UX, IRIX, Solaris and Windows. Asymmetric.
- Files-11 on VMSclusters, released by DEC in 1983, now from HP. Symmetric.
- Global File System (GFS) from Red Hat. Available for Linux under GPL. Symmetric (GDLM) or Asymmetric (GULM).
- HP Cluster File System (CFS) (TruCluster) from HP. Available for Tru64 UNIX.
- Melio FS from Sanbolic. Available for Windows. Symmetric.
- Nasan File System from DataPlow. Available for Linux and Solaris. Asymmetric.
- Oracle Cluster File System (OCFS and now OCFS2) from Oracle Corporation. Available for Linux under GPL. Symmetric.
- PolyServe file system (PSFS) from PolyServe [6] is used in their PolyServe Matrix Server [7] which focus on exporting to clients over CIFS or NFS as well as Microsoft SQL Server and Oracle 9i RAC and 10g. Available for Linux and Windows. Symmetric.
- SAN file system from DataPlow. Available for IRIX, Linux, Solaris and Windows. Symmetric.
- StorNext File System from Quantum. Asymmetric. Available for AIX, HP-UX, IRIX, Linux, Mac OS, Solaris and Windows. Interoperable with Xsan.
- QFS from Sun Microsystems. Available for Linux (client only) and Solaris (metadata server and client). Asymmetric.
- Veritas Storage Foundation Cluster File System (CFS) from Symantec. Available for AIX, HP-UX, Linux and Solaris. Asymmetric.
- Xsan from Apple Computer. Available for Mac OS. Asymmetric. Interoperable with StorNext File System.
- VMFS from VMware/EMC Corporation. Available for VMware ESX Server. Symmetric.
[edit] Distributed file systems
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.
- 9P, the Plan 9 from Bell Labs and Inferno distributed file system protocol. One implementation is v9fs. No ACLs.
- 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.
- Apple Filing Protocol (AFP) from Apple Computer. AFP may use Kerberos authentication.
- DCE Distributed File System (DCE/DFS) from IBM (earlier Transarc) is similar to AFS and focus on full POSIX file system semantics and high availability. Available for AIX and Solaris under a proprietary software license.
- NetWare Core Protocol (NCP) from Novell is used in networks based on NetWare.
- Network File System (NFS) originally from Sun Microsystems is the standard in UNIX-based networks. NFS may use Kerberos authentication and a client cache.
- 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.
[edit] 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.
- Distributed File System (Microsoft) (Dfs) from Microsoft focuses on location transparency and high availability. Available for Windows under a proprietary software license.
- InterMezzo from Cluster File Systems uses synchronization over HTTP. Available for Linux under GPL but no longer in development since the developers are working on Lustre.
[edit] Distributed parallel file systems
Distributed parallel file systems stripe data over multiple servers for high performance. They are normally used in high-performance computing (HPC).
Some of the distributed parallel file systems use object storage device (OSD) (In Lustre called OST) for chunks of data together with centralized metadata servers.
- Ceph from University of California, Santa Cruz. (Fault-tolerance in their roadmap.) Available for Linux under LGPL from Sourceforge.
- Fraunhofer Parallel File System (FhGFS) from the Fraunhofer Society Competence Center for High Performance Computing. Available as a free beta version for Linux. (Fault tolerance is on the roadmap.)
- Lustre originally from Cluster File Systems, which was acquired by Sun Microsystems in 2007. (Lustre has failover, but multi-server RAID1 or RAID5 is still in their roadmap for future versions.) Available for Linux under GPL, and for Microsoft Windows under a proprietary license. A version for Solaris is also under development.
- Parallel Virtual File System (PVFS, PVFS2). Available for Linux under GPL.
- Starfish is a POSIX-compatible, N-way redundant file system created by Digital Bazaar Inc. and published under a pseudo-open source license. Available for Linux and Mac OS. Windows support is available via Samba.
[edit] Distributed parallel fault tolerant file systems
Distributed file systems, which also are parallel and fault tolerant, stripe and replicate data over multiple servers for high performance and to maintain data integrity. Even if a server fails no data is lost. The file systems are used in both high-performance computing (HPC) and high-availability clusters.
All file systems listed here focus on high availability, scalability and high performance unless otherwise stated below.
- dCache by Fermilab and DESY is available free of charge (although it is not Free/Open Source Software due to license restrictions on distribution of modified versions)
- ExaFS distributed file system from Exanet. Runs as part of ExaStore, a Linux based NAS solution that runs on commodity Intel based hardware, serving NFS v2/v3, SMB/CIFS and AFP to Windows, Mac OS, Linux and other UNIX clients. Available under a proprietary software license.
- Gfarm file system uses OpenLDAP or PostgreSQL for metadata and FUSE or LUFS for mounting. Available for Linux, FreeBSD, NetBSD and Solaris under X11 License.
- GlusterFS A tuneable, high-performance cluster filesystem that is part of the GNU Clustering Platform. Available for any POSIX operating system under the GPL.
- General Parallel File System (GPFS) from IBM. Support replication between attached block storage. Available for AIX and Linux. Symmetric or asymmetric (configurable).
- Google File System (GFS) from Google focus on fault tolerance, high throughput and scalability. Only available through Google App Engine.
- IBRIX Fusion from IBRIX. Available for Linux under a proprietary software license.
- MogileFS from Danga Interactive is not POSIX compliant, uses a flat namespace, application level, uses MySQL for metadata and HTTP for transport. Available for Linux (but may be ported) under GPL.
- OneFS distributed file system from Isilon. BSD based OS on dedicated Intel based hardware, serving NFS v3 and SMB/CIFS to Windows, Mac OS, Linux and other UNIX clients under a proprietary software license.
- Panasas ActiveScale File System (PanFS) from Panasas uses object storage devices. Available for Linux under a proprietary software license.
- PeerFS from Radiant Data Corporation focus on high availability and high performance and uses peer-to-peer replication with multiple sources and targets. Available for Linux under a proprietary software license.
- TerraGrid Cluster File System from Terrascale Technologies Inc implements on demand cache coherency and uses industrial standard iSCSI and a modified version of the XFS file system. Available for Linux under a proprietary software license.
In development:
- zFS from IBM (not to be confused with ZFS from Sun Microsystems) focus on cooperative cache and distributed transactions and uses object storage devices. Under development and not freely available.
- Hadoop Distributed File System - free GoogleFS clone in development
- Kosmos Distributed File System - file system developed by Kosmix, now open source
- HAMMER/ANVIL by Matt Dillon
- OASIS from ETRI. Very similar to the Lustre or Panasas. Available for Linux via. special technology transfer program provided by ETRI.
- parallax http://www.cl.cam.ac.uk/~akw27/papers/parallax-hotos-final.pdf
[edit] Peer-to-peer file systems
- CFS is a read-only file system based on the Chord DHT
- Cleversafe uses Cauchy Reed-Solomon Information Dispersal Algorithms (IDAs) to separate data into unrecognizable slices and distribute them, via secure Internet connections, to multiple storage locations.
- Infinit is a large-scale peer-to-peer file system developed in C++ which enables users to both reliably and securely store their files in a location-independent and replicated way; and to share files with a controlled set of users, friends etc.
- Ivy is a read/write file system based on log, hence does not scale with the number of users
- Pastis is a French peer-to-peer file system developed in Java
[edit] Special purpose file systems
- archfs (archive)
- Barracuda WebDAV plugin. Secure Network File Server for embedded devices.
- Callback File System a virtual file system for Windows
- cdfs (reading and writing of CDs)
- cfs (caching)
- compFUSEd (overlay transparent read-write compression, FUSE based )
- Cramfs (small footprint compressed read-only)
- Cromfs is a user-space (FUSE based) read-only filesystem using an efficient LZMA compression algorithm.
- Davfs2 (WebDAV)
- Freenet – Decentralized, censorship-resistant
- ftpfs (ftp access)
- FUSE (file system in userspace, like LUFS but better maintained)
- FuseCompress (based on FUSE, provides transparent compression)
- GmailFS (Google Mail File System)
- lnfs (long names)
- LUFS (Linux userland file system - seem to be abandoned in favour of FUSE)
- MVFS – MultiVersion File System, proprietary, used by Rational ClearCase.
- nntpfs (netnews)
- ParFiSys (Experimental parallel file system for massively parallel processing)
- plumber (Plan 9) (interprocess communication – pipes)
- pramfs - Protected and Persistent RAM Filesystem
- romfs
- SODA: a Lease-based Consistent Distributed File System - (early 1990s)
- SquashFS (compressed read-only)
- SysmanFS (based on FUSE, a virtual file system for cluster system management)
- tmpfs
- UMSDOS – FAT file system extended to store permissions and metadata, 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
- mini_fo (The mini fanout overlay file system) – Redirects modifying operations to a writeable location called "storage directory", and leaving the original data in the "base directory" untouched. When reading, the file system merges the modifed and original data so that only the newest versions will appear.
- wikifs (Plan 9) (wiki wiki)
- WDK.VFS - SiteAdmin CMS Virtual File System introduced by Evgenios Skitsanos
- Datalight Reliance - transactional file system for 32 bit embedded systems from Datalight, Inc.
- ERTFS ProPlus64 - it comes with integrated Failsafe operation it contains a default journaling mode.
[edit] Pseudo- and virtual file systems
- devfs
- procfs – pseudo-file system, used to access kernel information about processes
- specfs (Special File System for device files )
- sysfs (Linux)
[edit] Encrypted file systems
- eCryptfs - a stacked cryptographic filesystem in the Linux kernel since 2.6.19
- Secure Shell File System (SSHFS) - locally mount a remote directory on a server using only a secure shell login.
- EncFS, GPL Encrypted file system in user-space
- Rubberhose filesystem
- PhoneBookFS
- Solid File System - (SolFS) cross-platform single-file virtual file system with encryption and compression
- EFS – Encrypted file system for Microsoft Windows systems. An extension of NTFS
- FSFS - Fast Secure File System Project Home page
- TrueCrypt – Free open-source disk encryption software for Windows Vista/XP/2000 and Linux – Project Home Page
[edit] Fault tolerant file systems
These are file systems with built in redundancy. Ordinary file systems for embedded systems using transactions or journals does not belong here.
- RAIF Redundant Array of Independent Filesystems - stackable RAID-like file system
- ZFS contains implementations of RAID 5 and RAID 6 (called RAID-Z and RAID-Z2)
[edit] See also
- Shared file access
- Comparison of file systems
- Filing OSID
- Computer storage
- Concurrent Versions System - CVS