File systemIn computing, a file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one large body of data with no way to tell where one piece of data stopped and the next began, or where any piece of data was located when it was time to retrieve it. By separating the data into pieces and giving each piece a name, the data are easily isolated and identified.
Ext4ext4 (fourth extended filesystem) is a for Linux, developed as the successor to ext3. ext4 was initially a series of backward-compatible extensions to ext3, many of them originally developed by Cluster File Systems for the between 2003 and 2006, meant to extend storage limits and add other performance improvements. However, other Linux kernel developers opposed accepting extensions to ext3 for stability reasons, and proposed to fork the source code of ext3, rename it as ext4, and perform all the development there, without affecting existing ext3 users.
ReiserFSReiserFS is a general-purpose, initially designed and implemented by a team at Namesys led by Hans Reiser and licensed under GPLv2. Introduced in version 2.4.1 of the Linux kernel, it was the first journaling file system to be included in the standard kernel. ReiserFS was the default file system in Novell's SUSE Linux Enterprise until Novell decided to move to ext3 on October 12, 2006, for future releases. Namesys considered ReiserFS version 3.
BtrfsBtrfs (pronounced as "better F S", "butter F S", "b-tree F S", or simply by spelling it out) is a computer storage format that combines a based on the copy-on-write (COW) principle with a logical volume manager (not to be confused with Linux's LVM), developed together. It was founded by Chris Mason in 2007 for use in Linux, and since November 2013, the file system's on-disk format has been declared stable in the Linux kernel. Btrfs is intended to address the lack of pooling, snapshots, checksums, and integral multi-device spanning in .
Ext2ext2, or second extended file system, is a for the Linux kernel. It was initially designed by French software developer Rémy Card as a replacement for the (ext). Having been designed according to the same principles as the from BSD, it was the first commercial-grade filesystem for Linux. The canonical implementation of ext2 is the "ext2fs" filesystem driver in the Linux kernel. Other implementations (of varying quality and completeness) exist in GNU Hurd, MINIX 3, some BSD kernels, in MiNT, Haiku and as third-party Microsoft Windows and macOS drivers.
Extended file attributesExtended file attributes are features that enable users to associate s with metadata not interpreted by the filesystem, whereas regular attributes have a purpose strictly defined by the filesystem (such as or records of creation and modification times). Unlike , which can usually be as large as the maximum file size, extended attributes are usually limited in size to a value significantly smaller than the maximum file size.
Comparison of file systemsThe following tables compare general and technical information for a number of . Note that in addition to the below table, block capabilities can be implemented below the file system layer in Linux (LVM, , cryptsetup) or Windows (Volume Shadow Copy Service, SECURITY), etc. "online" and "offline" are synonymous with "mounted" and "not mounted". While storage devices usually have their size expressed in powers of 10 (for instance a 1 TB Solid State Drive will contain at least 1,000,000,000,000 (1012, 10004) bytes), filesystem limits are invariably powers of 2, so usually expressed with IEC prefixes.
InodeThe inode (index node) is a data structure in a that describes a object such as a or a directory. Each inode stores the attributes and disk block locations of the object's data. File-system object attributes may include metadata (times of last change, access, modification), as well as owner and data. A directory is a list of inodes with their assigned names. The list includes an entry for itself, its parent, and each of its children. There has been uncertainty on the Linux kernel mailing list about the reason for the "i" in "inode".
Reiser4Reiser4 is a computer , successor to the ReiserFS file system, developed from scratch by Namesys and sponsored by DARPA as well as Linspire. Reiser4 was named after its former lead developer Hans Reiser. , the Reiser4 patch set is still being maintained, but according to Phoronix, it is unlikely to be merged into mainline Linux without corporate backing.
XFSXFS is a high-performance 64-bit created by Silicon Graphics, Inc (SGI) in 1993. It was the default file system in SGI's IRIX operating system starting with its version 5.3. XFS was ported to the Linux kernel in 2001; as of June 2014, XFS is supported by most Linux distributions; Red Hat Enterprise Linux uses it as its default file system. XFS excels in the execution of parallel input/output (I/O) operations due to its design, which is based on allocation groups (a type of subdivision of the physical volumes in which XFS is used- also shortened to AGs).