Linux Architecture

Linux Architecture

Linux is an open-source operating system based upon UNIX. It is an operating system just like the common commercial ones sold such Windows XP, Windows 7, and Mac OS X. An operating system is the graphical interface between a computer user and the computer system. It manages all the hardware resources your computer has and establishes the communication between the software and the hardware.

Open Source Software

An open source software is a software that its source code is made available with a license in which the copyright holder provides the right to study, change and distribute the software to anyone for any purpose.


Components of the Linux OS

The Linux operating system has primarily three components. Let’s see each one in detail.

1) The Kernel

2) The System Library

3) The System Utility


The Kernel

The kernel is the core part of an operating system. It handles the tasks and hardware of the computer. The memory and CPU time are examples of the entities managed by the kernel. There are two types of kernels. They are described below.

1) Microkernel

2) Monolithic kernel



The microkernel is a type of kernel. As the name indicates, it has only a basic functionality. It is the minimum amount of software that can provide the environment needed to run an operating system. This environment covers low-level address space management, thread management, and inter-process communication.


Monolithic kernel

A monolithic kernel is the kernel with many drivers. It is an Operating system architecture, where the operating system is working in the kernel space. These kernels are able to dynamically load or unload the executable modules at run time. The monolithic kernel is in supervisor mode. The main difference of the monolithic kernel from the micro kernel is that it alone defines a high-level virtual interface over computer hardware.


Supervisor mode

The supervisor mode is a hardware-mediated flag. It can be changed by code running in system-level software. System-level tasks will have this flag set while they are running, whereas user space applications will not have this flag set. This flag determines whether it is possible to execute machine code operations such as modifying registers for various descriptor tables, or performing operations such as disabling interrupts. The idea of having two different modes to operate in have come from “with more control comes more responsibility” – a program in supervisor mode is trusted never to fail, because a failure may cause the whole computer system to crash. In short, the kernel is responsible for all major activities of the operating system. It consists of various modules and it interacts directly with the underlying hardware. The kernel provides the required abstraction to hide low level hardware details to system or application programs.


The System Library

The library refers to a collection of non-volatile resources used by computer programs, often to develop software. This will include configuration data, documentation, help data, message templates, etc. Usually the term library is used to describe a collection of implementations of behavior written in terms of a language. It contains a well defined interface by which the behavior is invoked. It means people who want to make a higher-level program can use the library to make system calls over and over again. The library can be requested by multiple individual programs simultaneously, so that the library has been coded in such a way that multiple programs can use the library even though the programs have no connection to each other. In short, system libraries are special functions or programs using application programs or system utilities that accesses the features of the kernel. These libraries do implement most of the functionalities of the operating system and they do not actually require the code access rights of the kernel module.


The System Utility

The System Utility programs are responsible to do specialized, individual level tasks. The utility software is a system software. The system software is designed to run the hardware and application programs of a computer system. We can consider the system software as an interface between the hardware and the user applications. In short, the System Utility Software are the system software that is designed to help analyze, configure, optimize, and maintain a computer. The utility software along with the operating system is used to support the computer infrastructure, distinguishing it from application software which is aimed at directly performing tasks that benefit ordinary users.


If you need any further assistance please contact our support department.

  • 0

Install Wine on Linux Distribution

Install Wine on Linux Distribution In this tutorial, we can check how to Install Wine on Linux...

Install Apache Tomcat on Ubuntu 18.04

Install Apache Tomcat on Ubuntu 18.04 The Apache Tomcat is a free, open-source Java-based web...

How to Install and Setup Angular CLI

How to Install and Setup Angular CLIAngular is an open-source framework for your web...

How to Install Jenkins on CentOS and Ubuntu Server?

How to Install Jenkins on CentOS and Ubuntu Server? Jenkins is a free and open-source automation...

Setup ILIAS LMS on Ubuntu 18.04/16.04 with Nginx

ILIAS is an Open-Source Learning Management System. ILIAS LMS offers to develop and realizing...