Jump to content

List of file systems

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 96.32.77.67 (talk) at 02:16, 13 October 2008 (Disk file systems). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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 stream-oriented. Files in a stream-oriented file system are sequences of bytes, often featuring fully random-access read, write, and modify operations.

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.
  • CoreFSIF - A virtual file system geared towards embedded applications, by Avanticore, featuring transparent AES encryption, password protection, defragmentation tools, C / C++ / C# application layer interfaces.

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.

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.

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.

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 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

Special purpose file systems

  • archfs (archive)
  • AXFS (small footprint compressed read-only, with XIP)
  • Barracuda WebDAV plugin. Secure Network File Server for embedded devices.
  • Callback File System a virtual file system for Windows
  • 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)
  • 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.
  • CoreFSIF A virtual file system "within a file", featuring strong encryption and password protection, used for secure data storage on both embedded and desktop platforms.
  • Davfs2 (WebDAV)
  • Freenet – Decentralized, censorship-resistant
  • ftpfs (ftp access)
  • FUSE (file system in userspace, like LUFS but better maintained)
  • 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.

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)

Encrypted file systems

Fault tolerant file systems

These are file systems with built-in redundancy. Ordinary file systems for embedded systems using transactions or journals do not belong here.

See also