Open In App

Architecture of linux operating system

Last Updated : 25 Sep, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Linux is an open-source UNIX-based operating system. The main component of the Linux operating system is Linux kernel. It is developed to provide low-cost or free operating system service to personal system users, which includes an X-window system, Emacs editor, IP/TCP GUI, etc.

Linux distribution:

Linux distribution is developed using a set of software based on compatibility with the Linux core kernel, using which Linux-based operations in different systems, such as personal systems, embedded systems, etc. There are around 600 distributions available.

Some Linux distributions are: MX Linux, Manjaro, Linux Mint, elementary, Ubuntu, Debian, Solus, Fedora, openSUSE, Deepin

Components of Linux:

Like any operating system, Linux consists of software, computer programs, documentation, and hardware.

The main components of Linux operating system are: Application, Shell, Kernel, Hardware, Utilities

linux

Linux operating system architecture

1. Kernel:

Kernel is the main core component if Linux, it controls the activity of other hardware components. It visualizes the common hardware resources and provide each process with necessary virtual resources. It makes the process to wait in the ready queue and execute in consequently to avoid any kind of conflict.

Different of types of kernel:

1.1. Monolithic Kernel:

Monolithic kernel is a type of operating system kernel, where all the concurrent processes are executed simultaneously in the kernel itself. All the processes share same memory recourses.

1.2. Micro kernel:

In micro kernel user services and kernel services are executed in separate address spaces. User services are kept in user address space and kernel services are kept in kernel address space.

1.3. Exokernel:

Exo-kernel is designed to manage hardware resources at application level. High level abstraction is used in this operating system to offer hardware resources access to kernel.

1.4. Hybrid kernel:

It is the combination of both monolithic kernel and microkernel. It has speed and design of monolithic kernel and modularity and stability of microkernel.

Main Subsystems of kernel:

  • Process scheduler: Responsible for fairly distributing the the processing time among all the concurrently running process.
  • Memory management unit: This kernel sub unit is responsible for proper distribution of memory resources among the concurrently running process.
  • Virtual file system: This subsystem provides interface to access stored data across different file system and different physical media.
Linux_Subsystem

Kernel subsystems

2. System Library:

System libraries are some predefined functions by using which any application programs or system utilities can access kernel’s features. These libraries are the foundation upon which any software can be built.

Some of the most common system libraries are:

  1. GNU C library: This is the C library that provides the most fundamental system for the interface and execution of C programs. This provides may in-built functions for the execution.
  2. libpthread (POSIX Threads): This library plays important role for multithreading in Linux, it allows users for creating and managing multiple threads.
  3. libdl (Dynamic Linker): This library is responsible for the loading and linking file at the runtime.
  4. libm (Math Library): This library provides user with all kind of mathematical function and their execution.

Some other system libraries are: librt (Realtime Library), libcrypt (Cryptographic Library), libnss (Name Service Switch Library), libstdc++ (C++ Standard Library)

3. Shell:

Shell can be determined as the interface to the kernel, which hides the internal execution of functions of kernel from the user. Users can just enter the commend and using the kernel’s function that specific task is performed accordingly.

Different types of shell:

3.1. Command Line shell:

Executes the command provided by user given in the form command. A special program called terminal in executed and the result is displayed in the terminal itself.

3.2. Graphical User Interface:

Executes the process provided by user in graphical way and output is displayed in the graphical window.

shell

Linux shell

4. Hardware Layer:

Hardware layer of Linux is the lowest level of operating system track. It is plays a vital role in managing all the hardware components. It includes device drivers, kernel functions, memory management, CPU control, and I/O operations. This layer generalizes hard complexity, by providing an interface for software by assuring proper functionality of all the components.

5. System utility:

System utilities are the commend line tools that preforms various tasks provided by user to make system management and administration better. These utilities enables user to perform different tasks, such as file management, system monitoring, network configuration, user management etc.

Conclusion:

The most powerful and versatile component of Linux operating system is Kernel, using which functional of whole operating system can be controlled. Kernel provides a huge range of functionality, which can be easily accessed by the user in an interactive way using shell. For the proper functionality of the operating system, proper hardware are needed. All the components of the the operating system make it easier, faster, stable and reliable.


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads