close

Linux Filesystems

no thumb

Filesystem

Think of a refrigerator that has multiple shelves that can be used for storing various items. These shelves help you organize the grocery items by shape, size, type, etc. The same concept applies to a filesystem, which is the embodiment of a method of storing and organizing arbitrary collections of data in a human-usable form.

Different Types of Filesystems Supported by Linux:

  • Conventional disk filesystems: ext2, ext3, ext4, XFS, Btrfs, JFS,NTFS, etc.
  • Flash storage filesystems: ubifs, JFFS2, YAFFS, etc.
  • Database filesystems
  • Special purpose filesystems: procfs, sysfs, tmpfs, debugfs, etc.

linux-directory

All Linux filesystem names are case-sensitive, so /boot, /Boot, and /BOOT represent three different directories (or folders). Many distributions distinguish between core utilities needed for proper system operation and other programs, and place the latter in directories under /usr (think “user“). To get a sense for how the other programs are organized, find the /usr directory in the diagram above and compare the subdirectories with those that exist directly under the system root directory (/).

Partitions and Filesystems

A partition is a logical part of the disk, whereas a filesystem is a method of storing/finding files on a hard disk (usually in a partition). By way of analogy, you can think of filesystems as being like family trees that show descendants and their relationships, while the partitions are like different families (each of which has its own tree).

A comparison between filesystems in Windows and Linux is given in the following table:

Windows Linux
Partition Disk1 /dev/sda1
Filesystem type NTFS/FAT32 EXT3/EXT4/XFS…
Mounting Parameters DriveLetter MountPoint
Base Folder where OS is stored C drive /

Linux Distributions

no thumb

Linux distribution

As illustrated above, the Linux kernel is the core of a computer operating system. A full Linux distribution consists of the kernel plus a number of other software tools for file-related operations, user management, and software package management. Each of these tools provides a small part of the complete system. Each tool is often its own separate project, with its own developers working to perfect that piece of the system.

As mentioned earlier, the current Linux kernel, along with past Linux kernels (as well as earlier release versions) can be found at the www.kernel.org website. The various Linux distributions may be based on different kernel versions.  For example, the very popular RHEL 6 distribution is based on the 2.6.32 version of the Linux kernel, which is rather old but extremely stable. Other distributions may move more quickly in adopting the latest kernel releases. It is important to note that the kernel is not an all or nothing proposition, for example, RHEL 6 has incorporated many of the more recent kernel improvements into their version of 2.6.32.

Examples of other essential tools and ingredients provided by distributions include the C/C++ compiler, the gdb debugger, the core system libraries applications need to link with in order to run, the low-level interface for drawing graphics on the screen as well as the higher-level desktop environment, and the system for installing and updating the various components including the kernel itself.

 

Distribution-service

A vast variety of Linux distributions cater to different audiences and organizations depending on their specific needs. Large commercial organizations tend to favor the commercially supported distributions from Red Hat, SUSE and Canonical(Ubuntu).

CentOS is a popular free alternative to Red Hat Enterprise Linux (RHEL)Ubuntu and Fedora are popular in the educational realm. Scientific Linux is favored by the scientific research community for its compatibility with scientific and mathematical software packages. Both CentOS and Scientific Linux are binary-compatible with RHEL; i.e., binary software packages in most cases will install properly across the distributions.

Many commercial distributors, including Red Hat, Ubuntu, SUSE, and Oracle, provide long-term fee-based support for their distributions, as well as hardware and software certification. All major distributors provide update services for keeping your system primed with the latest security and bug fixes, and performance enhancements, as well as provide online support resources.

Linux Philosophy

no thumb

Linux borrows heavily from the UNIX operating system because it was written to be a free and open source version of UNIX. Files are stored in a hierarchical filesystem, with the top node of the system being root or simply “/”. Whenever possible, Linux makes its components available via files or objects that look like files. Processes, devices, and network sockets are all represented by file-like objects, and can often be worked with using the same utilities used for regular files.

Linux is a fully multitasking (a method where multiple tasks are performed during the same period of time), multiuser operating system, with built-in networking and service processes known as daemons in the UNIX world.

 

Video: https://www.youtube.com/watch?v=H7Uz692S6T4

History of Linux

no thumb

History

Linus Torvalds was a student in Helsinki, Finland, in 1991 when he started a project: writing his own operating system kernel. He also collected together and developed the other essential ingredients required to construct an entire operating system with his kernel at the center. This soon became known as the Linux kernel.

In 1992, Linux was re-licensed using the General Public License (GPL) by GNU (a project of the Free Software Foundation (FSF) which promotes freely available software) which made it possible to build a worldwide community of developers. By combining the kernel with other system components from the GNU project, numerous other developers created complete systems called Linux Distributions in the mid-90’s.

The Linux distributions created in the mid-90’s provided the basis for fully free computing and became a driving force in the open source software movement. In 1998, major companies likeIBM and Oracle announced support for the Linux platform and began major development efforts as well.

Today, Linux powers more than half of the servers on the Internet, the majority of smart-phones (via the Android system which is built on top of Linux), and nearly all of the world’s most powerful supercomputers.