List of file systems

From Wikipedia, the free encyclopedia

Jump to: navigation, search

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.

[edit] File systems with built in fault tolerance

These file systems has built in checksumming and either mirroring or parity for extra redundancy on one or several block devices.

[edit] 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.

  • 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..
  • UBIFS – Successor of JFFS2
  • YAFFS – A Log structured file system designed for NAND flash, but also used with NOR flash.
  • ETFS - Embedded Transactional File System. Designed primarily for NAND devices by QNX Software Systems.
  • TrueFFS - Internal file system for SSDs, implementing error correction, bad block re-mapping and wear levelling.
  • ExtremeFFS - Internal file system for SSDs.

[edit] 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.

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

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

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

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

  • Fraunhofer Parallel File System (FhGFS) from the Fraunhofer Society Competence Center for High Performance Computing. Available as a free-of-charge beta version for Linux under a proprietary license. (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.
  • XtreemFS [8] is a free and open-source file system (GPL) that runs on various Linux distributions and Mac OS X. It is designed for federated installations and follows an object-based architecture that supports a per-file striping width and allows to scale the file system by adding more storage and metadata servers. Replication is in the roadmap.

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

In development:

[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 [9] 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 is a French peer-to-peer file system developed in Java

[edit] Special purpose file systems

[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

[edit] Fault tolerant file systems

These are special purpose file systems with built-in redundancy. Ordinary file systems for embedded systems using transactions or journals do not belong here. Ordinary stream based file systems like ZFS or Btrfs etc do not belong here either.

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

[edit] References

[edit] See also

[edit] External links

Personal tools