Linux Notes

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

What is Linux?

Linux is a Unix-like, open source and community-developed operating system (OS) for
computers, servers, mainframes, mobile devices and embedded devices. It is supported on
almost every major computer platform, including x86, ARM and SPARC, making it one of the
most widely supported operating systems.
How is the Linux operating system used?
Every version of the Linux OS manages hardware resources, launches and handles
applications, and provides some form of user interface.
For example, Linux has emerged as a popular OS for web servers such as Apache, as well as
for network operations, scientific computing tasks that require huge compute clusters,
running databases, desktop and endpoint computing, and running mobile devices with OS
versions like Android.
The Linux OS can be found in many different settings, supporting many different use cases.
Linux is used in the following ways:
• Server OS for web servers, database servers, file servers, email servers and any
other type of shared server. Designed to support high-volume and multithreading
applications, Linux is well-suited for all types of server applications.
• Desktop OS for personal productivity computing. Linux is an open source and
freely available desktop environment for users who prefer it to commercial OSes.
• Headless server OS for systems that do not require a graphical user interface (GUI)
or directly connected terminal and keyboard. Headless systems are often used for
remotely managed networking server and other devices.
• Embedded device or appliance OS for systems that require limited computing
function. Linux is used as an embedded OS for a variety of applications, including
household appliances, automotive entertainment systems and network file
system appliances.
• Network OS for routers, switches, domain name system servers, home
networking devices and more. For example, Cisco offers a version of the Cisco
Internetwork Operating System (IOS) that uses the Linux kernel.
• Software development OS for enterprise software development. Linux is home to
some of the most widely used open source software development tools. For
example, git for distributed source control; vim and emacs for source code editing;
and compilers and interpreters for almost every programming language.
• Cloud OS for cloud instances. Major cloud computing providers offer access to
cloud computing instances running Linux for cloud servers, desktops and other
services.
Linux is highly configurable and depends on a modular design that enables users to customize
their own versions of Linux. Depending on the application, Linux can be optimized for
different purposes such as:
• networking performance;
• computation performance;
• deployment on specific hardware platforms; and
• deployment on systems with limited memory, storage or computing resources.
This
chart highlights nine popular Linux distributions.
Linux components and terminology
The Linux OS system incorporates several different components, including:
• Bootloader. A bootloader is responsible for managing the boot process of the
computer and for starting the Linux kernel. It can also be used to manage systems
that boot more than one OS.
• Kernel. The core of the Linux system, the kernel handles network access,
schedules processes or applications, manages basic peripheral devices and
oversees all file system services. The Linux kernel is the software that interfaces
directly with the computer hardware.
• Init system. The first process to run once the kernel is loaded. A process is an
instance of a program running on a computer, and the init system initializes the
system to enable it to run other processes. Init is a daemon program that acts as
the parent process to all other processes running on the system. Init can be
configured to start specific processes at system initialization. For example, when
the system will be running a web server the init system can be configured to load
all necessary web server software.
• Daemons. This is a program that runs in the background, handling requests for a
service. A web server running on a Linux server depends on a daemon, usually
named httpd, to listen for web server requests.
• Desktop environment. This is the collection of applications and user interface
controls with which users interact when using Linux as a desktop platform. Access
to the desktop environment is usually controlled through the X Window System or
another graphical system. The desktop environment will also include a set of
default applications for managing files and folders, text editing, running a
command-line session and other common tasks.
The Linux kernel mediates interaction between applications and system hardware such as
CPU, memory and devices like storage or printers.

Desktop environments can also vary widely with different approaches to GUI design and
default applications. The two most popular desktop environments are:
• The GNOME desktop environment, which is included in most popular Linux
distributions, is the default desktop for many. Designed to be easy to use and
reliable, GNOME spawned other desktop environment projects, including MATE,
Cinnamon and Unity.
• The KDE desktop environment is the primary alternative to GNOME. KDE is also
designed to be easy to use and reliable. It has spawned other projects, including
the Trinity Desktop Environment.
How the Linux operating system works
The Linux OS follows a modular design that is the key to its many variations and distributions.
All Linux distributions are based on the Linux kernel, but they can differ depending on factors
such as:
• Kernel version. Distributions can be configured with more recent versions to
incorporate newer features or with older versions to be more stable.
• Kernel modules. This is software that can be loaded and unloaded into the kernel
to extend functionality without rebooting. Kernel modules are often used to
support:
o device drivers, which use code that controls how attached devices
operate;
o file system drivers, which use code that controls how the kernel works
with different file systems; and
o system calls, which use code that controls how programs request
services from the kernel.
• Configuration options. Linux kernels compiled with configuration options set to
include only device or file system drivers are used for some specialized
distributions; for example, compiling a kernel for a wireless device without any
wired network device drivers.
The Linux kernel is the one thing that all systems running Linux have in common. Linux works
by:
• Loading and booting a Linux kernel.
• Once booted, the kernel manages all system input and output. The system is
initialized, and processes can be started.
• As system processes are started, the system can be used for processes that include
network server functions, commands entered interactively via command line,
desktop applications or any application or program.
While the kernel may be almost identical -- with some divergence for configuration and
compilation differences -- the user experience can vary widely, depending on how the Linux
system is being used

The pros and cons of using Linux


Some advantages of using Linux include:
• Open source software. The Linux kernel is released under the GNU GPL open
source software license.
• Licensing costs. Unlike Microsoft Windows or Apple macOS, Linux has no explicit
licensing fees.
• Reliability. Linux is considered a reliable OS and is well-supported with security
patches.
• Backward compatibility. Linux and other open source software tend to be
updated frequently for security and functional patches, while retaining core
functionality.
Some disadvantages of using Linux include:
• Lack of established standard. There is no standard version of Linux, which may be
good for optimizing Linux for particular applications, but less so for deploying
standardized server or desktop images. The wide range of options can complicate
support as a result.
• Support costs. While an organization can acquire Linux freely without licensing
fees, support is not free. Most enterprise Linux distributors like SUSE and Red Hat
offer support contracts. Depending on the circumstances, these license fees can
reduce savings significantly.
• Proprietary software. Desktop productivity software like Microsoft Office cannot
be used on Linux desktops, and other proprietary software may be unavailable for
Linux platforms.
• Unsupported hardware. While many hardware manufacturers make Linux device
drivers available for their products, many do not.
• Steep learning curve. Many users struggle to learn to use the Linux desktop or
Linux-based applications.

You might also like