Jump to content

List of file systems: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
+space, +items
Line 258: Line 258:
*[http://domino.research.ibm.com/library/cyberdig.nsf/1e4115aea78b6e7c85256b360066f0d4/2c9cc2222924110c852572f900556f98?OpenDocument SysmanFS] (based on [[FUSE (linux)|FUSE]], a virtual file system for cluster system management)
*[http://domino.research.ibm.com/library/cyberdig.nsf/1e4115aea78b6e7c85256b360066f0d4/2c9cc2222924110c852572f900556f98?OpenDocument SysmanFS] (based on [[FUSE (linux)|FUSE]], a virtual file system for cluster system management)
*[[tmpfs]]
*[[tmpfs]]
*[[UMSDOS]] – FAT file system extended to store permissions and metadata, used for Linux.
*[[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
*[[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_(file_system)|Fossil]].
*[[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.
*[[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 wiki]])
*[[wikifs (Plan 9)]] ([[Wiki|wiki wiki]])

Revision as of 05:23, 10 June 2010

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.

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.

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.

  • Btrfs - A filesystem based on B-Trees, created by Oracle Corporation.
  • Reliance – A transactional file system with CRCs, created by Datalight.
  • Reliance Nitro – A tree-based transactional file system with CRCs, developed for high performance and reliability in embedded systems, from Datalight.
  • ZFS – Created by Sun Microsystems for use on Solaris 10 and OpenSolaris, ported to FreeBSD 7.0, NetBSD (as of 08/2009) and to FUSE (not to be confused with the two zFSes from IBM). Apple had announced inclusion of ZFS in their Mac OS X 10.6 (Snow Leopard) update, but later quietly removed support for it prior to release.

File systems optimized for flash memory / solid state media

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 different error detection and correction algorithms.

  • ETFS - Embedded Transactional File System. Designed primarily for NAND devices by QNX Software Systems.
  • exFAT - Microsoft proprietary system intended for flash drives but often incorrectly called FAT64 [2]
  • ExtremeFFS - Internal file system for SSDs.
  • FFS2 (presumably preceded by FFS1), one of the earliest flash file systems. Developed and patented by Microsoft in the early 1990s.[3]
  • 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..
  • OneFS - OneFS is a file system utilized by Isilon. It supports selective placement of meta-data directly onto flash SSD.
  • Segger Microcontroller Systems emFile - File system for deeply embedded applications which supports both NAND and NOR flashes. Wear leveling, fast read and write, and very low RAM usage.
  • TFAT – A transactional version of the FAT filesystem.
  • TrueFFS - Internal file system for SSDs, implementing error correction, bad block re-mapping and wear levelling.
  • UBIFS – Successor of JFFS2
  • Write Anywhere File Layout - WAFL is an internal file system utilized by NetApp within their DataONTAP OS, originally optimized to utilize non-volatile DRAM
  • YAFFS – A Log structured file system designed for NAND flash, but also used with NOR flash.

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.

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.

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.

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.

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.

  • Fraunhofer Parallel File System (FhGFS) from the Fraunhofer Society Competence Center for High Performance Computing. Available free of charge for Linux under a proprietary license. (High availability features are on the roadmap, currently only local file locking is supported)
  • Parallel Virtual File System (PVFS, PVFS2). Developed to store virtual system images, with a focus on non shared writing optimizations. 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.

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.

In development:

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 [13] is a multi-user read/write peer-to-peer file system. Ivy has no centralized or dedicated components, and it provides useful integrity properties without requiring users to fully trust either the underlying peer-to-peer storage system or the other users of the file system.
  • Pastis file system is a French peer-to-peer file system developed in Java
  • ColonyFS emphasises anonymity, security and dependability, is written in Java and C#, and is released under the GPL

Special purpose file systems

  • archfs (archive)
  • AUFS an enhanced version of UnionFS stackable unification file system
  • AXFS (small footprint compressed read-only, with XIP)
  • Barracuda WebDAV plugin. Secure Network File Server for embedded devices.
  • Callback File System SDK that lets developers create installable virtual file systems for Windows in user mode
  • Cascade File System – provides file system access to Subversion and Perforce repositories and caches their contents locally
  • cdfs (reading and writing of CDs)
  • cfs (caching)
  • cvsfs (presents the CVS contents as mountable file system).
  • Dokan LGPL FUSE for Windows analog
  • compFUSEd (overlay transparent read-write compression, FUSE based)
  • FuseCompress (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/CurlFtpFS (ftp access)
  • GmailFS (Google Mail File System)
  • lnfs (long names)
  • 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
  • Venti - Plan 9 de-duplicated storage used by Fossil.
  • 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.
  • WBFS - Wii Backup FileSystem
  • whefs - WanderingHorse.net Embedded Filesystem is an Open Source C library implementing an embedded/embeddable filesystem.

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)
  • 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, or if it is even abandoned at all.

Encrypted file systems

Fault-tolerant file systems

These are special purpose file systems with built-in redundancy.

  • RAIF Redundant Array of Independent Filesystems - stackable RAID-like file system

Files System Interfaces

These are not really file systems, they allow access to file systems from an operating system standpoint.

  • FUSE (file system in userspace, like LUFS but better maintained)
  • LUFS (Linux userland file system - seems to be abandoned in favour of FUSE)
  • VFS Virtual Filesystem

See also

References

  1. ^ Corbet, Jonathan. "The Next3 filesystem". LWN.
  2. ^ "Parallax: Managing Storage for a Million Machines" (PDF). University of Cambridge Computer Laboratory. Retrieved 2 December 2008.
  3. ^ "pNFS".

External links