Image Credit: freepik

Kernel in Linux Operating System.

Linux is an open-source platform developed in 1991 by Linus Torvalds.

pro_grammer
2 min readOct 9, 2019

--

It is used in a wide variety of devices as an operating system, like in computers, servers, mobiles, mainframes, and other embedded devices.

What is Kernel?

A kernel is the critical component of an operating system. It works as a bridge between the applications and data processing at the hardware level with the help of its inter-process communication and system calls.

The kernel is responsible for:

  • Process management for application execution.
  • Memory and I/O (input/output) management.
  • System call control (core act of Kernel).
  • Device management with the help of device drivers.

Operations of a Kernel

The kernel is termed as a heart of any operating system as it controls all other programmes in a system. When a device starts, the kernel goes through a process called initialization function, such as checking memory.

Types of kernels

In general, we have three types of kernels, and they are,

  • Monolithic kernel: It contains many device drivers that create a communication interface between the hardware and software of a device.
  • Microkernel: It could only execute basic functionality.
  • Hybrid kernel: it combines the aspects of Monolithic kernel and Microkernel.

Major Subsystems of the Linux Kernel:

Below mentioned are the some of the subsystems of the Linux kernel.

System call interface:

A system call is a programmatic process in which a program requests a service from the kernel of an operating system.

Process management:

The Kernel takes care of creating and destroying the different processes and monitors their connection to the outside world such as input and output.

Memory management:

Memory is a vital component of an Operating system and kernel takes care of it. Linux manages the available memory and hardware mechanisms for virtual and physical mappings.

Virtual file system:

Virtual file system (VFS) is an important integral part of the kernel and facilitates common interface abstraction for the file system.

Device Drivers:

A vast part of the source code of the kernel is stored in the device drivers, and that makes a specific hardware device usable.

Architecture-dependent code:

Even though much of the Linux runs on its independent architecture, some elements should be considered for the architecture efficiency and normal operation. Linux has many sub-directories, and each architecture sub-directory has many numbers of other subsidiaries.

Linux Kernel system (file system):

The files and systems in the Linux kernel system are where most of the users find difficulties, majorly because it is hard to tell which files are in which directories if you don’t have the knowledge.

To conclude things up.

The Linux Kernel plays an important role in resource allocation to different applications. The kernel acts as a centralized place to connect the hardware and software and runs the applications in a system.

--

--