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