Architecture
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.

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.
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 types of Kernel
Monolithic Kernel
Micro Kernel
Exo Kernel
Hybrid Kernel
Main Subsystem of Kernel

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.
Common System Library
GNU C Library
Libpthread (POSIX Threads)
libdl (Dynamic Linker)
libm (Math 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
Command Line Shell
Graphical User Interface
4. Hardware
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.
Last updated