📜 ⬆️ ⬇️

Linux file systems

XFS - the beginning of development in 1993, the company Silicon Graphics, in May 2000, appeared in the GNU GPL, for users of most Linux systems became available in 2001-2002. A distinctive feature of the system is an excellent support for large files and file volumes, 8 ex-byte - 1 byte (8 * 2 60 -1 byte) for 64-bit systems. Everything else has other important features - continuous disk space, delayed allocation of space and online defragmentation. It is one of the oldest journaling file systems for * nix, and contains the most streamlined, in this context, source code.

ReiserFS (Reiser3) is one of the first journaling file systems for Linux developed by Namesys. It has some congenital headaches, but on the whole a good system, leading its days since 2001. I will make a reservation that the meaning of journaling systems lies in disk transactions that are sequentially written to a special disk zone (log, also known as a log), before the data reaches the end points of the file system. The maximum volume of the volume for this system is 16 tebibyte (16 * 2 40 bytes).

JFS (Journaled File System) is the file system, the brainchild of IBM, which appeared to the world back in 1990 for AIX (Advanced Interactive eXecutive) OS. As the first stable release, for Linux users, the system became available in 2001. Of the advantages of the system - good scalability. Of the minuses - not very active support throughout the life cycle. The maximum size of the volume is 32 pebibyta (32 * 2 50 bytes).

ext (extended filesystem) - appeared in April 1992, it was the first file system manufactured specifically for the needs of the Linux OS. Developed by Remy Card to overcome the limitations of the Minix file system.
')
ext2 (second extended file system) - was developed by the Remy Card in 1993. Not a journaling file system, it was its main drawback, which will fix ext3.

ext3 (third extended filesystem) is essentially a native ext ext Linux extension capable of journaling. Developed by Stephen Tweedie in 1999, incorporated into the main Linux kernel in November 2001. Compared to other colleagues, it has a more modest size of space, up to 4 tebibyte (4 * 2 40 bytes) for 32-bit systems. Currently it is the most stable and supported file system in the Linux environment.

Reiser4 is the first attempt to create a new generation file system for Linux. First introduced in 2004, the system includes such advanced technologies as transactions, delayed allocation of space, as well as the built-in ability to encode and compress data. Hans Reiser, the lead developer of the system, advertised using his brainchild directly as a database with improved metadata. After Hans Reiser was convicted of murder in 2008, the further fate of the system became questionable.

ext4 - an attempt to create a 64-bit ext3 capable of supporting a larger file system size (1 ex-byte). Later added features - continuous disk space, delayed allocation of space, online defragmentation, and others. Provides direct compatibility with the ext3 system and limited backward compatibility with inaccessible capacity for continuous disk space.

UPD: Btrfs (B-tree FS or Butter FS) - a project originally started by Oracle, later supported by most Linux systems. Many consider the system to be such an answer to ZFS. The key features of this file system are technologies: copy-on-write, which allows you to take snapshots of disk areas (snapshots), which can be useful for later recovery; control over the integrity of data and metadata (with increased integrity assurance); data compression; optimized mode for SSD drives (set when mounted) and others. An important factor is the ability to switch from ext3 to Btrfs. Since August 2008, this system has been released under the GNU GPL.

Tux2 is a well-known, but never publicly announced file system. Creator Daniel Phillips, the system is based on the “Phase Tree” algorithm, which, like journaling, protects the file system from crashes. Organized as an addin on ext2.

Tux3 - stepping on the heels of Btrfs, introduced a new file system. The system is based on FUSE (Filesystem in Userspace), a special module for creating file systems on * nix platforms. This project aims to get rid of the usual journaling, instead offering a versioned recovery (state in a certain period of time). The advantage of the versioned system used in this case is the way to describe the changes, where a modified copy is created for each file, and the current version is not overwritten. This approach allows for more flexible version management.

UPD: Xiafs - the idea and development of this file system belong to Frank Xia, based on the MINIX file system. Currently considered obsolete and almost never used. Along with ext2 it was developed as a replacement for the ext system. In December 1993, the system was added to the standard Linux kernel. And although the system was more stable and occupied less disk space for control structures - it turned out to be weaker than ext2, limiting the maximum file and partition sizes, as well as the ability for further expansion, played a leading role.

UPD: ZFS (Zettabyte File System) - originally created in Sun Microsystems, the file system for the notorious Solaris operating system in 2005. Distinctive features - the lack of data fragmentation as such, the ability to manage snapshots, storage pools, variable block sizes, 64-bit checksum mechanism, as well as the ability to address 128 bits of information! On Linux systems it can be used by means of FUSE.

Based on www.kev009.com/wp/2008/11/on-file-systems

Source: https://habr.com/ru/post/45873/


All Articles