Basic Linux file system

For a FREE DIAGNOSIS call our data recovery centre now on 0870 7424 008


Linux File Systems : Native

Every native Linux filesystem implements a basic set of common concepts that were derived from those originally developed for Unix. (Native means that the filesystems were either developed originally for Linux or were first developed for other operating systems and then rewritten so that they would have functions and performance on Linux comparable or superior to those of filesystems originally developed for Linux.)

Several Linux native filesystems are currently in widespread use, including ext2, ext3, ReiserFS, JFS and XFS. Additional native filesystems are in various stages of development.

These filesystems differ from the DOS/Windows filesystems in a number of ways including

  • allowing important system folders to span multiple partitions and multiple hard drives
  • adding additional information about files, including ownership and permissions
  • establishing a number of standard folders for holding important components of the operating system.

Linux's first filesystem was minix, which was borrowed from the Minix OS. This filesystem because it was an efficient and relatively bug-free piece of existing software that postponed the need to design a new filesystem from scratch.

However, minix was not well suited for use on Linux hard disks for several reasons, including its maximum partition size of only 64MB, its short filenames and its single timestamp. But minix can be useful for floppy disks and RAM disks because its low overhead can sometimes allow more files to be stored than is possible with other Linux filesystems.

The Extended File System, ext, was introduced in April, 1992. With a maximum partition size of 2GB and a maximum file name size of 255 characters, it removed the two biggest minix limitations. However, there still was no support for the separate access, inode modification and data modification timestamps. Also, its use of linked lists to keep track of free blocks and inodes caused the lists to become unsorted and the filesystem to become fragmented.

The Second Extended File System (ext2) was released in January, 1993. It was a rewrite of ext which features

  • improved algorithms that greatly improved its speed
  • additional date stamps (such as date of last access, date of last inode modification and date of last data modification)
  • the ability to track the state of the filesystem. Ext2 maintains a special field in the superblock that indicates the status of the filesystem as either clean or dirty. A dirty filesystem will trigger a utility to scan the filesystem for errors. Ext2 also features support for a maximum file size of 4TB (1 terabyte is 1024 gigabytes). Consequently, it has completely superseded ext, support for which has been removed from the Linux kernel.

Ext2 is the most portable of the native Linux filesystems because drivers and other tools exist that allow accessing ext2 data from a number of other operating systems. However, as useful as these tools are, most of them have limitations, such as being access utilities rather than true drivers, not working with the most recent versions of ext2, not being able to write to ext2 or posing a risk of causing filesystem corruption when writing to ext2.

> Overview: Linux journaling file system

> Overview: Linux support for non Linux file systems

 

> Back to the main LINUX data recovery page

> Back to the MAIN data recovery page