0% found this document useful (0 votes)
12 views

Unit 2 History of Linux

Class notes
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Unit 2 History of Linux

Class notes
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Unit II Linux

BSc. III Sem. V


Prepared by Dr. U. S. Junghare

Linux OS is a type of computer operating system that is free and open-source,


distributed under the GNU General Public License (GPL) that allows users to
download, install, and modify the operating system’s source code for free. Linux
OS consists of the Linux kernel developed by Linus Torvalds and various
software developed by the open-source community. As a free and open-source
operating system, Linux OS has become popular among computer users

History of Linux:

In 1969 Unix was created at AT&T's Bell Labs by Ken Thompson, Dennis
Ritchie, and others.

In 1970 Unix was written in the C programming language, making it easier to


modify, improve, and port to different machines.

In 1983 Richard Stallman launched the GNU Project (GNU stands for "GNU's
Not Unix") with the goal of developing a free Unix-like operating system. The
idea was to create an OS that was free to use, modify, and distribute.

In 1985 The Free Software Foundation (FSF) was founded by Richard Stallman
to support the GNU Project and promote the philosophy of free software.

In 1991 Linus Torvalds created a popular open-source operating system i.e


Linux. The name Linux is a combination of his first name, Linus, and Unix, the
operating system that inspired his projects. Linus Torvalds began a project that
later became the Linux kernel.
At the time, most operating systems were proprietary and expensive. Torvalds
wanted to create an operating system that was freely available to anyone who
wanted to use the operating system, He originally released Linux as free software
under the GNU General Public License. This meant that anyone could use,
modify, and redistribute his source code.

Early versions of Linux were primarily used by technology enthusiasts and


software developers, but over time it has grown in popularity and is used in
various types of devices such as servers, smartphones, and embedded systems.
Linux is considered one of the most stable, secure and reliable operating systems
and is widely used in servers, supercomputers and enterprise environments.
Today, Linux is one of the most widely used operating systems in the world, with
an estimated 2.76% of all desktop computers and more than 90% of the world’s
top supercomputers running on Linux, and approx. 71.85% of all mobile devices
run on Android, which is, you guessed it, Linux-based. The Linux community has
expanded to include thousands of developers and users who work on the creation
and upkeep of the operating system. Nowadays Linux has many distributions
(versions) namely
1. Ubuntu
2. Fedora
3. Arch
4. Plasma
5. KDE
6. Mint
7. Manjaro

Features of Linux:
o Multiuser capability: Multiple users can access the same system resources like
memory, hard disk, etc. But they have to use different terminals to operate.
o Multitasking: More than one function can be performed simultaneously by dividing
the CPU time intelligently.
o Portability: Portability doesn't mean it is smaller in file size or can be carried in pen
drives or memory cards. It means that it support different types of hardware.
o Security: It provides security in three ways namely authenticating (by assigning
password and login ID), authorization (by assigning permission to read, write and
execute) and encryption (converts file into an unreadable format).
o Live CD/USB: Almost all Linux distros provide live CD/USB so that users can
run/try it without installing it.
o Graphical User Interface (X Window system): Linux is command line-based OS
but it can be converted to GUI based by installing packages.
o Support's customized keyboard: As it is used worldwide, hence supports different
languages keyboards.
o Shell − Linux provides a special interpreter program which can be used to execute
commands of the operating system. It can be used to do various types of operations,
call application programs. etc.
o File System: Provides hierarchical file system in which files and directories are
arranged.
o Open Source: Linux code is freely available to all and is a community-based
development project.

Difference between Unix & Linux:


Linux is an operating system that was developed by Linus Torvalds in 1991. The
name “Linux” originates from the Linux kernel. It is an open-source software that
is completely free to use. It is used for computer hardware and software, game
development, mainframes, etc. It can run various client programs.
Unix is a portable, multi-tasking, bug-fixing, multi-user operating system
developed by AT&T. It started as a one-man venture under the initiative of Ken
Thompson of Bell Labs. It proceeded to turn out to become the most widely used
operating system. It is used in web servers, workstations, and PCs. Many
business applications are accessible on it.
Linux and Unix are both operating systems that are commonly used in enterprise
and server environments. While there are some similarities between them, there
are also some key differences.

Compariso Linux Unix


n

Definition It is an open-source operating system It is an operating system which can


which is freely available to everyone. be only used by its copyrighters.

Examples It has different distros like Ubuntu, IBM AIX, HP-UX and Sun Solaris.
Redhat, Fedora, etc.

Users Nowadays, Linux is in great demand. It was developed mainly for


Anyone can use Linux whether a home servers, workstations and
user, developer or a student. mainframes.

Usage Linux is used everywhere from servers, It is used in servers, workstations


PC, smartphones, tablets to mainframes and PCs.
and supercomputers.

Cost Linux is freely distributed, downloaded, Unix copyright vendors decide


and distributed through magazines also. different costs for their respective
And priced distros of Linux are also Unix Operating systems.
cheaper than Windows.

Development As it is open source, it is developed by Unix was developed by AT&T


sharing and collaboration of codes by Labs, various commercial vendors
world-wide developers. and non-profit organizations.
Manufacturer Linux kernel is developed by the Unix has three distributions IBM
community of developers from different AIX, HP-UX and Sun Solaris.
parts of the world. Although the father Apple also uses Unix to make OSX
of Linux, Linus Torvalds oversees operating system.
things.

GUI Linux is command based but some Initially it was command based OS,
distros provide GUI based Linux. but later Common Desktop
Gnome and KDE are mostly used GUI. Environment was created. Most
Unix distributions use Gnome.

Interface The default interface is BASH (Bourne It originally used Bourne shell. But
Again SHell). But some distros have is also compatible with other GUIs.
developed their own interfaces.

File system Linux supports more file system than It also supports file system but
support Unix. lesser than Linux.

Coding Linux is a Unix clone, behaves like Unix contain a completely different
Unix but doesn't contain its code. coding developed by AT&T Labs.

Operating Linux is just the kernel. Unix is a complete package of


system Operating system.

Security It provides higher security. Linux has Unix is also highly secured. It has
about 60-100 viruses listed till date. about 85-120 viruses listed till date

Error detection As Linux is open-source, whenever a In Unix, users have to wait for
and solution user post any kind of threat, developers some time for the problem to be
from all over the world start working on resolved.
it. And hence, it provides faster
solution.

Difference between Windows & Linux:

Linux is a derived form of Unix. It is free of cost making it available for all users. It is open-
source, means that the source code of Linux is available for all users. Users can add additional
programs or modify the existing ones so that it can perform various other functions.

• Linux uses a monolithic kernel. It runs both kernel and user services in the same address
space. It has many distributions such as Ubuntu, Linux mint, Fedora, etc.
• Linux was written in C language and assembly language. It is more machine friendly,
which means users find it difficult to interact with Linux.
• Linux has become the largest open-source software in the world. It provides high security
and is mostly used for hacking purposes.
• Some of the features of Linux include its Portability, Security, and Multitasking abilities.
Plus, Linux is open source.

Some of the drawbacks of using the Linux operating system are listed below −

• It can’t run most of the Windows programs.


• Most of the Internet service providers do not support Linux.
• Linux is difficult to learn for most of the new users. Depending on its distributions, the
difficulty level varies.

Windows Operating System

Windows is an operating system developed by Microsoft. Its first version was released in 1985
which was an extension of MS-DOS.

• Windows is not open-source. Its free version lacks some of the features that the licensed
version has.
• Windows is the most widely used operating system in PCs. It provides a GUI which is
very user-friendly. It is available in two versions, i.e., 32 bit and 64 bit. It has both client
and server versions.
• Windows uses a microkernel. Its address space is separated into kernel space and user
space. Windows is designed in such a way that people with no programming knowledge
can also use it.
• It is good for both personal and commercial use because it is very simple and easy to use.
• Windows was written in C++ and Assembly language. Windows provides less security as
compared to Linux.
• Some of the features of Windows include: Control panel, File explorer, Internet Browser,
Disk cleanup features, and a highly user-friendly Interface.

Some of the drawbacks of using the Windows operating system are listed below −

• Most of the Windows’s features are available only in the paid/licensed version.
• It provides less security.
• System requirements
• Users have to pay software fee along with the license fee.

Parameter Linux Windows

Definition Linux is an open-source operating system Windows is an operating system


developed for desktops developed for desktops

Developed Linus Torvalds Microsoft


by

Availability Open-source and free of cost Not an open-source and it is paid

Linux is machine-friendly. So user must Windows is simple with rich GUI options.
have some exposure to Linux commands. User doesn’t need any knowledge of
Ease of use
It takes more time for users to get used to programming. It is more useful for non-
Linux technical users.

Kernel type Monolithic kernel Microkernel

Path Forward slash is used as a path separator Backward slash is used as a path separator
separator

Linux is more secure than Windows Windows is less secure compared to


Security
Linux

Case Linux is highly case-sensitive Windows is not case sensitive


sensitivity

Updates Linux updates less frequently Windows updates frequently

Linux is written in C and Assembly Windows is written in C++ and Assembly


Written in
language language

Linux is distributed under GPL(GNU Windows is distributed under Proprietary


License
General Public License) license commercial software license

Linux is more reliable than windows as it Windows is not much reliable as Linux
Reliability
is more secured

Linux uses tree structure to store files. In Windows uses directories such as C, D, E
File system Linux everything is considered as a file and more and folders are used to store
files

• Regular • Administrator
Types of • Administrative • Standard
users • Service • Child
• Guest
Speed Linux is faster than windows Windows is slower compared to Linux

Here, the command line is referred to as a Windows also have a command prompt
Command
Terminal which is very useful and which is not as effective as Terminal.
line
perform various tasks Users use GUI to perform their tasks

Linux installation setup is a bit Windows is easy to setup but takes more
Installation
complicated but it takes less time to install time to install

Components of Linux System:

Linux Operating System has primarily three components

• Kernel − Kernel is the core part of Linux. It is responsible for all major
activities of this operating system. It consists of various modules and it
interacts directly with the underlying hardware. Kernel provides the required
abstraction to hide low level hardware details to system or application
programs.
• System Library − System libraries are special functions or programs using
which application programs or system utilities accesses Kernel's features.
These libraries implement most of the functionalities of the operating
system and do not requires kernel module's code access rights.
• System Utility − System Utility programs are responsible to do specialized,
individual level tasks.

Kernel Mode vs User Mode


Kernel component code executes in a special privileged mode called kernel
mode with full access to all resources of the computer. This code represents a
single process, executes in single address space and do not require any context
switch and hence is very efficient and fast. Kernel runs each processes and
provides system services to processes, provides protected access to hardware to
processes.

Support code which is not required to run in kernel mode is in System Library.
User programs and other system programs works in User Mode which has no
access to system hardware and kernel code. User programs/ utilities use System
libraries to access Kernel functions to get system's low level tasks.

Architecture of Linux OS:


The architecture of Linux is the underlying structured layer like other operating
systems. Generally, it has four fundamental layers. Those are: application, shell,
kernel, and hardware. It is very important to understand for both the developers and
users how each layer is connected and creates the whole system. Below the image,
you can see the links between each layer.

Hardware

Hardware is the peripheral and physical components like CPU, RAM, and input and
output devices. Some components of hardware are:
• CPU: The Linux kernel mainly interacts with the CPU (Central Processing
Unit). For Linux portability, it is compatible with any other structure of CPU.
It is responsible for executing and performing instructions.
• RAM: The primary memory that is used to store the data and programs that are
accessed by the CPU. Linux kernel manages the allocation of the memory to
ensure handles all the processes.
• Input-output device: Linux mainly supports a wide range of input-output
devices with the help of a device driver that is the mediator between the
hardware layer and the kernel.

1. The input device includes the keyboard, touchpad, and other devices
that mainly help to interact with the computer.
2. Monitor, printer, and many other peripheral devices are the output
devices that mainly show the output to the users.
Kernel

The kernel is the core of the operating system and it is the foundation of other
software that works on top of it. It handles and hides all the complexity and
underlying modules of the hardware. It is the foundational layer on which another
system operates. Let’s see some of the functions of the kernel:
• Device Management: Manages all the device hardware parts including the
device drivers, input-output operation, and peripheral devices.
• Manage Resources: The kernel manages the processes of the CPU and all the
peripheral devices and acts as the bridge between the resources and
processes.
• Memory Management: Kernel mainly manages memory and provides some
benefits
• System calls: For managing the file operation, memory control, and process
control kernel receives system calls to perform requested services.
• Preformation optimization: Balancing all the resources with the memory,
optimizes the system performance and boosts the system efficiency. It also
schedules the task according to the level of priority.
Types of Kernels in OS Architecture
1. Monolithic
2. Microkernel
3. Hybrid
4. Nano kernel
5. Exo kernel
Linux includes a monolithic kernel which makes this OS the most stable and fast.
Shell
Shell is the interface that interacts with humans and processes the commands that are
given for the execution. One can call it an interpreter because it takes the command
from the keyboard and makes it understandable to the kernel. The shell starts when
one starts the terminal.

Shells are categorized into two sections:


1. Command Line Shell

The command line Interface is the user interface where the user types commands in a
text form. When the user provides the command in the terminal, the shell interprets
the commands for the kernel. The shell also has some built-in commands that help the
user to navigate, manage, and change the file system.
Types of Command-Line Shell

• Bourne Shell: One of the earliest Unix shells that provides a simple and
efficient command-line interface.
• Bourne Again Shell (Bash): It’s an extension of the original Bourne Shell and
includes additional features, such as command history and job control.
• CSH (C Shell): Introduced C-like syntax for command scripting.
• KSH (Korn Shell): It combines features of the Bourne Shell, C Shell, and
Bash, providing a powerful and versatile environment.
• ZSH (Z Shell): It is highly customizable and user-friendly.
2. Graphical User Shell

The graphical user shell is the user interface using the system’s peripheral components
like a mouse, and keyboard. It is beneficial for users who are not familiar with
commands. These shells are used to make the desktop environment easier.
Types of Graphical Shell
• GNOME: GNU Network Object Model Environment (GNOME) is known for
its simplicity, modern design, and user-friendliness.
• KDE Plasma: K Desktop Environment (KDE) is known for its feature-rich and
highly customizable interface.
• Cinnamon: Developed by the Linux Mint team and offers a traditional desktop
environment focusing on user-friendliness.

Applications
Applications are the programs that the user runs on top of the architecture. The
applications are the user space element that includes database applications, media
players, web browsers, and presentations.
System Utilities and Libraries

The system utilities and libraries provide a wide range of functions to manage the
system. Low-level hardware complexity to high-level user support is served by the
system utilities and libraries.
• System Utilities: It is the program that performs the task which is given by the
users and manages the system.

Linux Distributions:
Other operating systems like Microsoft combine each bit of codes internally and
release it as a single package. But Linux is different from them. Different parts of
Linux are developed by different organizations. Different parts include kernel,
shell utilities, X server, system environment, graphical programs, etc.
A Linux distribution (also called as distros) is an OS made through a software
collection that contains the Linux kernel and a package management system
often.
A complete Linux system package called a distribution. Many Linux distributions
are available to meet just about any computing requirement you could have. Most
distributions are customized for a specific user group, such as business users.
Multimedia enthusiasts, software developers, or average home users. Each
customized distribution includes the software packages required to support
specialized functions, such as audio and video editing software for multimedia
enthusiasts, or compilers and integrated development environment for software
developers.
The different Linux distributions are often divided into three categories:
• Full core Linux distributions
• Specialized Linux distributions
• LiveCD test distributions
The following sections describe these different types of Linux distributions and
show some examples of Linux distributions in each category.
Core Linux Distributions
A core Linux distribution contains a kernel, one or more graphical desktop
environments, and just about every Linux application that is available,
recompiled for the kernel. It provides one-stop shopping for a complete Linux
installation.
However, beginners still run into problems when they install one of the core
Linux distributions. To cover just about any situation in which someone might
want to use Linux, a single distribution must include lots of application software.
They include everything from high-end Internet database servers to common
games. Because of the number of applications available for Linux, a complete
distribution often takes four or more CDs.
Examples:
• Slackware – One of the original Linux distribution sets, popular with
Linux geek.
• Debian – Popular with Linux experts and commercial Linux products.
Specialized Linux Distributions
A new subgroup of Linux distributions has started to appear. These are typically
based on one of the main distributions but contain only a subset of applications
that would make sense for a specific area of use. In addition to providing
specialized software (such as only office products for business users), customized
Linux distributions also attempt to help to begin Linux users by auto-detecting
and auto-configuring common hardware devices. This makes installing Linux a
much more enjoyable process.
That’s just a small sampling of specialized Linux distributions. These are
literally hundreds of specialized Linux distributions, and more are popping up all
the time on the internet. No matter what your specialty, you’ll probably find a
Linux distribution made for you. Many of the specialized Linux distributions are
based on the Debian Linux distribution. They use the same installation files as
Debian but package only a small fraction of a full-blown Debian system.
Examples :
• CentOS – A free distribution built from the Red Hat Enterprise Linux
source code
• Mint – A free distribution for home entertainment use
The Linux LiveCD
A relatively new phenomenon in the Linux world is the bootable Linux CD
distribution. This lets you see what a Linux system is like without actually
installing it. Most modern PCs can boot from a CD instead of the standard hard
drive. To take advantage of this some Linux distributions create a bootable CD
that contains a sample Linux system (called a Linux Live CD). Because of the
limitations of the single CD size, the sample can’t contain a complete Linux
system, but you’d be surprised at all the software they can cram in there. The
result is anything on your hard drive.
Trends and types
Linux distributions might be:
• Non-commercial or commercial
• Developed for home users, power users, or enterprise users
• Supported on two or more types of platform or hardware-specific, even to the
certification extension via platform vendor
• Developed for embedded, desktop, or server devices
• Highly specialized or general purpose toward particular machine functionalities (e.g.,
computer clusters, network routers, and firewalls)
• Targeted at particular user groups, e.g., by language internationalization and
localization or by including several scientific computing and music production
packages
• Primarily, built for comprehensiveness, portability, usability, or security
Rolling release or standard release
The Linux distribution diversity is because of the technical, philosophical, and organizational
variation among users and vendors.
Linux Distributions List
There are on an average six hundred Linux distributors providing different features. Here,
we'll discuss about some of the popular Linux distros today.
1) Ubuntu
It came into existence in 2004 by Canonical and quickly became popular. Canonical wants
Ubuntu to be used as easy graphical Linux desktop without the use of command line. It is the
most well known Linux distribution. Ubuntu is a next version of Debian and easy to use for
newbies. It comes with a lots of pre-installed apps and easy to use repositories libraries.
Earlier, Ubuntu uses GNOME2 desktop environment but now it has developed its own unity
desktop environment. It releases every six months and currently working to expand to run on
tablets and smartphones.
2) Linux Mint
Mint is based on Ubuntu and uses its repository software so some packages are common in
both.
Earlier it was an alternative of Ubuntu because media codecs and proprietary software are
included in mint but was absent in Ubuntu. But now it has its own popularity and it uses
cinnamon and mate desktop instead of Ubuntu's unity desktop environment.
3) Debian
Debian has its existence since 1993 and releases its versions much slowly then Ubuntu and
mint.
This makes it one of the most stable Linux distributor.
Ubuntu is based on Debian and was founded to improve the core bits of Debian more quickly
and make it more user friendly. Every release name of Debian is based on the name of the
movie Toy Story.
4) Red Hat Enterprise / CentOS
Red hat is a commercial Linux distributor. There products are red hat enterprise Linux
(RHEL) and Fedora which are freely available. RHEL is well tested before release and
supported till seven years after the release, whereas, fedora provides faster update and
without any support.
Red hat uses trademark law to prevent their software from being redistributed. CentOS is a
community project that uses red hat enterprise Linux code but removes all its trademark and
make it freely available. In other words, it is a free version of RHEL and provide a stable
platform for a long time.
5) Fedora
It is a project that mainly focuses on free software and provides latest version of software. It
doesn't make its own desktop environment but used 'upstream' software. By default it has
GNOME3 desktop environment. It is less stable but provides the latest stuff.

Structure of Linux File System:


Linux file system has a hierarchal file structure as it contains a root directory and its
subdirectories. All other directories can be accessed from the root directory. A partition
usually has only one file system, but it may have more than one file system.

A file system is designed in a way so that it can manage and provide space for non-volatile
storage data. All file systems required a namespace that is a naming and organizational
methodology. The namespace defines the naming process, length of the file name, or a subset
of characters that can be used for the file name. It also defines the logical structure of files on
a memory segment, such as the use of directories for organizing the specific files. Once a
namespace is described, a Metadata description must be defined for that particular file.

The data structure needs to support a hierarchical directory structure; this structure is used to
describe the available and used disk space for a particular block. It also has the other details
about the files such as file size, date & time of creation, update, and last modified.

Also, it stores advanced information about the section of the disk, such as partitions and
volumes.

The advanced data and the structures that it represents contain the information about the file
system stored on the drive; it is distinct and independent of the file system metadata.

Linux file system contains two-part file system software implementation architecture.
Consider the below image:

The file system requires an API (Application programming interface) to access the function
calls to interact with file system components like files and directories. API facilitates tasks
such as creating, deleting, and copying the files. It facilitates an algorithm that defines the
arrangement of files on a file system.

The first two parts of the given file system together called a Linux virtual file system. It
provides a single set of commands for the kernel and developers to access the file system.
This virtual file system requires the specific system driver to give an interface to the file
system.

Directory Structure

The directories help us to store the files and locate them when we need them. Also,
directories are called folders as they can be assumed of as folders where files reside in the
form of a physical desktop analogy. Directories can be organized in a tree-like hierarchy in
Linux and several other operating systems.
The directory structure of Linux is well-documented and defined in the Linux FHS
(Filesystem Hierarchy Standard). Referencing those directories if accessing them is achieved
via the sequentially deeper names of the directory linked by '/' forward slash like
/var/spool/mail and /var/log. These are known as paths.

Following is a very short standard, defined, and well-known top-level Linux directory list and
their purposes:

o / (root filesystem): It is the top-level filesystem directory. It must include every file needed to
boot the Linux system before another filesystem is mounted. Every other filesystem is
mounted on a well-defined and standard mount point because of the root filesystem
directories after the system is started.
o /boot: It includes the static kernel and bootloader configuration and executable files needed to
start a Linux computer.
o /bin: This directory includes user executable files.
o /dev: It includes the device file for all hardware devices connected to the system. These aren't
device drivers; instead, they are files that indicate all devices on the system and provide
access to these devices.
o /etc: It includes the local system configuration files for the host system.
o /lib: It includes shared library files that are needed to start the system.
o /home: The home directory storage is available for user files. All users have a subdirectory
inside /home.
o /mnt: It is a temporary mount point for basic filesystems that can be used at the time when
the administrator is working or repairing a filesystem.
o /media: A place for mounting external removable media devices like USB thumb drives that
might be linked to the host.
o /opt: It contains optional files like vendor supplied application programs that must be placed
here.
o /root: It's the home directory for a root user. Keep in mind that it's not the '/' (root) file
system.
o /tmp: It is a temporary directory used by the OS and several programs for storing temporary
files. Also, users may temporarily store files here. Remember that files may be removed
without prior notice at any time in this directory.
o /sbin: These are system binary files. They are executables utilized for system administration.
o /usr: They are read-only and shareable files, including executable libraries and binaries, man
files, and several documentation types.
o /var: Here, variable data files are saved. It can contain things such as MySQL, log files, other
database files, email inboxes, web server data files, and much more.

Linux File System Features

In Linux, the file system creates a tree structure. All the files are arranged as a tree and its
branches. The topmost directory called the root (/) directory. All other directories in Linux
can be accessed from the root directory.

Some key features of Linux file system are as following:

o Specifying paths: Linux does not use the backslash (\) to separate the components; it uses
forward slash (/) as an alternative. For example, as in Windows, the data may be stored in C:\
My Documents\ Work, whereas, in Linux, it would be stored in /home/ My Document/ Work.
o Partition, Directories, and Drives: Linux does not use drive letters to organize the drive as
Windows does. In Linux, we cannot tell whether we are addressing a partition, a network
device, or an "ordinary" directory and a Drive.
o Case Sensitivity: Linux file system is case sensitive. It distinguishes between lowercase and
uppercase file names. Such as, there is a difference between test.txt and Test.txt in Linux. This
rule is also applied for directories and Linux commands.
o File Extensions: In Linux, a file may have the extension '.txt,' but it is not necessary that a
file should have a file extension. While working with Shell, it creates some problems for the
beginners to differentiate between files and directories. If we use the graphical file manager, it
symbolizes the files and folders.
o Hidden files: Linux distinguishes between standard files and hidden files, mostly the
configuration files are hidden in Linux OS. Usually, we don't need to access or read the
hidden files. The hidden files in Linux are represented by a dot (.) before the file name (e.g.,
.ignore). To access the files, we need to change the view in the file manager or need to use a
specific command in the shell.

Types of Linux File Systems:


When we install the Linux operating system, Linux offers many file systems such as Ext,
Ext2, Ext3, Ext4, JFS, ReiserFS, XFS, btrfs, and swap.

1. Ext, Ext2, Ext3 and Ext4 file system

The file system Ext stands for Extended File System. It was primarily developed for MINIX
OS. The Ext file system is an older version, and is no longer used due to some limitations.

Ext2 is the first Linux file system that allows managing two terabytes of data. Ext3 is
developed through Ext2; it is an upgraded version of Ext2 and contains backward
compatibility. The major drawback of Ext3 is that it does not support servers because this file
system does not support file recovery and disk snapshot.

xt4 file system is the faster file system among all the Ext file systems. It is a very compatible
option for the SSD (solid-state drive) disks, and it is the default file system in Linux
distribution.

2. JFS File System

JFS stands for Journaled File System, and it is developed by IBM for AIX Unix. It is an
alternative to the Ext file system. It can also be used in place of Ext4, where stability is
needed with few resources. It is a handy file system when CPU power is limited.
3. ReiserFS File System

ReiserFS is an alternative to the Ext3 file system. It has improved performance and advanced
features. In the earlier time, the ReiserFS was used as the default file system in SUSE Linux,
but later it has changed some policies, so SUSE returned to Ext3. This file system
dynamically supports the file extension, but it has some drawbacks in performance.

4. XFS File System

XFS file system was considered as high-speed JFS, which is developed for parallel I/O
processing. NASA still using this file system with its high storage server (300+ Terabyte
server).

5. Btrfs File System

Btrfs stands for the B tree file system. It is used for fault tolerance, repair system, fun
administration, extensive storage configuration, and more. It is not a good suit for the
production system.

6. Swap File System

The swap file system is used for memory paging in Linux operating system during the system
hibernation. A system that never goes in hibernate state is required to have swap space equal
to its RAM size.

You might also like