Unit 2 History of Linux and other details for begginers
DrUjwalaSJunghareBan
32 views
19 slides
Oct 26, 2024
Slide 1 of 19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
About This Presentation
This notes is useful for beginners. It contains history and features of linux, difference between linux,unix and windows, componant and architecture of linux, linux distortions, directory structure etc.
Size: 343.44 KB
Language: en
Added: Oct 26, 2024
Slides: 19 pages
Slide Content
Unit II History of Linux BSc. III Sem. V Prepared by Dr. U. S. Junghare Department of Computer Science.
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 Ubuntu Fedora Arch Plasma KDE Mint Manjaro Features of Linux: Multiuser capability: Multiple users can access the same system resources like memory, hard disk, etc. But they have to use different terminals to operate. Multitasking: More than one function can be performed simultaneously by dividing the CPU time intelligently. 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. 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). Live CD/USB: Almost all Linux distros provide live CD/USB so that users can run/try it without installing it. Graphical User Interface (X Window system): Linux is command line-based OS but it can be converted to GUI based by installing packages. Support's customized keyboard: As it is used worldwide, hence supports different languages keyboards. 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. 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. Co m pariso n Linux Unix Definition It is an open-source operating system which is freely available to everyone . It is an operating system which can be only used by its copyrighters . Examples It has different distros like Ubuntu, Redhat, Fedora, etc. IBM AIX, HP-UX and Sun Solaris. Users Nowadays, Linux is in great demand. Anyone can use Linux whether a home user, developer or a student. It was developed mainly for servers, workstations and mainframes. Usage Linux is used everywhere from servers, PC, smartphones, tablets to mainframes and supercomputers. It is used in servers, workstations and PCs. Cost Linux is freely distributed, downloaded, and distributed through magazines also. And priced distros of Linux are also cheaper than Windows. Unix copyright vendors decide different costs for their respective Unix Operating systems. Development As it is open source, it is developed by sharing and collaboration of codes by world-wide developers. Unix was developed by AT&T Labs, various commercial vendors and non-profit organizations.
Manufacturer Linux kernel is developed by the community of developers from different parts of the world. Although the father of Linux, Linus Torvalds oversees things. Unix has three distributions IBM AIX, HP-UX and Sun Solaris. Apple also uses Unix to make OSX operating system. GUI Linux is command based but some distros provide GUI based Linux. Gnome and KDE are mostly used GUI. Initially it was command based OS, but later Common Desktop Environment was created. Most Unix distributions use Gnome. Interface The default interface is BASH (Bourne Again SHell). But some distros have developed their own interfaces. It originally used Bourne shell. But is also compatible with other GUIs. F ile syst e m support Linux supports more file system than Unix. It also supports file system but lesser than Linux. Coding Linux is a Unix clone, behaves like Unix but doesn't contain its code. Unix contain a completely different coding developed by AT&T Labs. Op e r a ting system Linux is just the kernel. Unix is a complete package of Operating system. Security It provides higher security. Linux has about 60-100 viruses listed till date. Unix is also highly secured. It has about 85-120 viruses listed till date Error detection and solution As Linux is open-source, whenever a user post any kind of threat, developers from all over the world start working on it. And hence, it provides faster solution. In Unix, users have to wait for some time for the problem to be resolved. 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 D evelo p ed by Linus Torvalds Microsoft Availability Open-source and free of cost Not an open-source and it is paid Ease of use Linux is machine-friendly. So user must have some exposure to Linux commands. It takes more time for users to get used to Linux Windows is simple with rich GUI options. User doesn’t need any knowledge of programming. It is more useful for non- technical users. Kernel type Monolithic kernel Microkernel Path s epar a tor Forward slash is used as a path separator Backward slash is used as a path separator Security Linux is more secure than Windows Windows is less secure compared to Linux Case s en s iti v ity Linux is highly case-sensitive Windows is not case sensitive Updates Linux updates less frequently Windows updates frequently Written in Linux is written in C and Assembly language Windows is written in C++ and Assembly language License Linux is distributed under GPL(GNU General Public License) license Windows is distributed under Proprietary commercial software license Reliability Linux is more reliable than windows as it is more secured Windows is not much reliable as Linux File system Linux uses tree structure to store files. In Linux everything is considered as a file Windows uses directories such as C, D, E and more and folders are used to store files Types of users Regular Administrative Service Administrator Standard Child Guest
Speed Linux is faster than windows Windows is slower compared to Linux Com m and line Here, the command line is referred to as a Terminal which is very useful and perform various tasks Windows also have a command prompt which is not as effective as Terminal. Users use GUI to perform their tasks Installation Linux installation setup is a bit complicated but it takes less time to install Windows is easy to setup but takes more 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. The input device includes the keyboard, touchpad, and other devices that mainly help to interact with the computer. 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 Monolithic Microkernel Hybrid Nano kernel 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:
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. 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. 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. 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. 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. 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. 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: / (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. /boot: It includes the static kernel and bootloader configuration and executable files needed to start a Linux computer. /bin: This directory includes user executable files. /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. /etc: It includes the local system configuration files for the host system. /lib: It includes shared library files that are needed to start the system. /home: The home directory storage is available for user files. All users have a subdirectory inside /home.
/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. /media: A place for mounting external removable media devices like USB thumb drives that might be linked to the host. /opt: It contains optional files like vendor supplied application programs that must be placed here. /root: It's the home directory for a root user. Keep in mind that it's not the '/' (root) file system. /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. /sbin: These are system binary files. They are executables utilized for system administration. /usr: They are read-only and shareable files, including executable libraries and binaries, man files, and several documentation types. /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: 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. 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. 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. 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 . 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. 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.
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. 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). 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. 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.