what is a Linux Kernel?

We all know that a computer is a machine capable of performing arithmetic and logical operations. The  Operating System manages the hardware and software resources of a computer and provide the services for other programs to run. The operating system has to work closely with the system
hardware to get the correct response. In a computer system it is the CPU or the processor which does all the arithmetic and logical operations along with managing the data flow. But CPU or processors are devices that understands only binary data, i.e.  data comprised of only ones (1) and zeroes (0). Where as the user applications are mostly programs written in high level languages like C, C++. So how does the hardware understand the instruction given by a user application written in high level language. Or who translates the high level language to machine level language. The answer is, Kernel.


Kernel is the most integral part of an Operating System that manages the input and output requests from the user applications (software) and convert them to machine level instruction for the CPU and the other hardware components. Every operating system has its own kernel. Below image shows how kernel connects the user applications with the hardware components.

Kernel Layout
Pic Courtesy: By Bobbo (Own work) [CC-BY-SA-3.0 or GFDL ], via Wikimedia Commons
The core of a Linux operating system is the Linux Kernel, which is the most widely used kernel in the world. Linux Kernel was developed by Linus Torvalds  while he was a student at University of Helsinki. What started of as a hobby went on to become the base of Linux operating system. Later many people joined in and contributed codes to the project. Linus Torvalds went on to become the chief architect of Linux and now acts as the project's coordinator.

Major functions of a Linux Kernel are
  1. Memory Management - Allocation and reclamation of memory to different processes
  2. Inter Process Communication (IPC)- Method by which processes communicates with each other
  3. Device Management - Allows a process to communicate with a hardware device with the help of device drivers or modules
The Linux Documentation Project has a  detailed page on the working of Linux Kernal. For more information please visit the page by clicking this link

Comments

Popular posts from this blog

Understanding awk command with examples

Understanding sed command with example -Part 1

How to install a Software in Linux