Linux Oerating System
Linux Oerating System
Linux is a free and open-source family of operating systems that is powerfull and flexible.
In 1991, an individual by the name as Linus Torvalds constructed it. The system's source
code is accessible to everyone for anyone to look at and change.Linux, that's well-known
for its reliability, safety, and flexibility, allows users to customize and improve their
environment to suit specific needs
Architecture of Linux
Linux architecture has the following components:
Linux Architecture
1. Kernel: Kernel is the core of the Linux based operating system. It virtualizes the
common hardware resources of the computer to provide each process with its virtual
resources. This makes the process seem as if it is the sole process running on the
machine. The kernel is also responsible for preventing and mitigating conflicts between
different processes. Different types of the kernel are:
Monolithic Kernel
Hybrid kernels
Exo kernels
Micro kernels
2. System Library: Linux uses system libraries, also known as shared libraries, to
implement various functionalities of the operating system. These libraries contain pre-
written code that applications can use to perform specific tasks. By using these
libraries, developers can save time and effort, as they don't need to write the same
code repeatedly. System libraries act as an interface between applications and the
kernel, providing a standardized and efficient way for applications to interact with the
underlying system.
3. Shell: The shell is the user interface of the Linux Operating System. It allows users to
interact with the system by entering commands, which the shell interprets and
executes. The shell serves as a bridge between the user and the kernel, forwarding the
user's requests to the kernel for processing. It provides a convenient way for users to
perform various tasks, such as running programs, managing files, and configuring the
system.
4. Hardware Layer: The hardware layer encompasses all the physical components of the
computer, such as RAM (Random Access Memory), HDD (Hard Disk Drive), CPU
(Central Processing Unit), and input/output devices. This layer is responsible for
interacting with the Linux Operating System and providing the necessary resources for
the system and applications to function properly. The Linux kernel and system libraries
enable communication and control over these hardware components, ensuring that
they work harmoniously together.
5. System Utility: System utilities are essential tools and programs provided by the Linux
Operating System to manage and configure various aspects of the system. These
utilities perform tasks such as installing software, configuring network settings,
monitoring system performance, managing users and permissions, and much more.
System utilities simplify system administration tasks, making it easier for users to
maintain their Linux systems efficiently.
5. rmdir command in Linux Removes empty directories from the directory lists.
9. uname command in
Command to get basic information about the OS
Linux
16. man command in Linux Access manual for all Linux commands
23. whereis command in View the exact location of any command typed after this
Linux command
File System is responsible for the management and storage of physical memory blocks
on the disk, ensuring efficient data allocation and retrieval.
Linux File System Structure
A file system mainly consists of 3 layers. From top to bottom:
1. Logical File System:
The Logical File System acts as the interface between the user applications and the file
system itself. It facilitates essential operations such as opening, reading, and closing files.
Virtual File System:
The Virtual File System (VFS) is a crucial layer that enables the concurrent operation of
multiple instances of physical file systems. It provides a standardized interface, allowing
different file systems to coexist and operate simultaneously.
Virtual File System:
The Virtual File System (VFS) is a crucial layer that enables the concurrent operation of
multiple instances of physical file systems. It provides a standardized interface, allowing
different file systems to coexist and operate simultaneously.
1) Journaling:
Journaling file systems keep a log called the journal, that keeps track of the changes
made to a file but not yet permanently committed to the disk so that in case of a system
failure the lost changes can be brought back.
2) Versioning:
Versioning file systems store previously saved versions of a file, i.e., the copies of a file
are stored based on previous commits to the disk in a minutely or hourly manner to create
a backup.
3) Inode:
The index node is the representation of any file or directory based on the parameters -
size, permission, ownership, and location of the file and directory.