Introduction to Linux
What is Linux
Linux is an opensource operating system, Similar to any other operating systems like Windows, MAC etc. An operating system is a program which manages the communication between user software and hardware.
There are following major parts in a Linux system:
Kernel –
A Linux Kernel is the core of any operating system, which directly interacts with the hardware. It manages all the system resources like “Memory”, “CPU”, “Processes” and Attached peripheral devices to the system.
Bootloader –
The Bootloader also called Boot Manager. A program that handles the boot process for any Linux computer. It loads the operating system from the storage device to memory.
Shell –
A shell is a command line interpreter, which provides the directly interacts users via standard input devices like a keyboard.
1. Shell is interface between user and kernel.
2. It is outer part of operating system.
3. A shell is a user interface for access to an operating system's services Shell is an environment in which we can run our commands, programs, softwares and shell scripts.
4. Computers do not have any inherent capability of translating commands into actions, it is done by Shell.
5. There can be many shells in action - one shell for each user who logged in.
Daemons –
These the services which did the specific tasks like a Web server, printing service etc. Generally, daemons start with the operating system and keep running till the system shutdown.
Desktop Environment –
These provide the Graphical interface of a shell to users to work. This is Similar to Windows desktop environment.
Linux Architecture
Linux is a free and open-source operating system that was developed in
the early 1990s by Linus Torvalds. It is based on the Unix operating system and
has become a popular choice for both personal and enterprise use due to its
stability, security, and flexibility.
Linux is built on a modular architecture, which means that it is made up
of a number of different components that work together to form a complete
operating system. These components are organized into layers, each of which
serves a specific purpose and interacts with the other layers to provide the
functionality that users expect from an operating system.
The following is a high-level overview of the main layers of the Linux
architecture:
- Hardware layer: This is the
bottommost layer of the Linux architecture and represents the physical
hardware components of the computer, such as the processor, memory, and
storage. The hardware layer is responsible for interacting with the
various hardware devices and providing access to them for the rest of the
operating system.
- Kernel layer: The kernel is the
core of the operating system and is responsible for managing the resources
of the computer, such as the CPU, memory, and I/O devices. It also
provides services to the other components of the operating system and acts
as the intermediary between the hardware and the software layers.
- System libraries layer: This layer
consists of a set of libraries that provide functions for the applications
to use. These libraries include system calls, which are used to invoke
kernel functions, as well as other functions that perform tasks such as
file manipulation, networking, and memory management.
- System utilities layer: This layer
consists of a set of programs that perform various system-level tasks,
such as managing processes, controlling user accounts, and configuring
system settings. These utilities are usually command-line programs that
are invoked by the user or by other programs.
- Desktop environment
layer: This
layer is optional and is not present on all Linux systems. It provides a
graphical user interface (GUI) that allows users to interact with the
operating system using a mouse and keyboard. The most common desktop
environments in Linux are Gnome, KDE, and Xfce.
- Applications layer: This is the topmost layer of the Linux
architecture and consists of the various applications that run on the
operating system. These can be anything from productivity software and
games to web browsers and media players.