Understanding The Linux Kernel
Kernel in general is the main component in any operating system. The main job of Kernel is to manage computer resources. In the simple term, it controls the communication between hardware and software. By doing so, it facilitates following –
- Allows more than one programs to execute at the same time
- Attaches software drivers to appropriate hardware
- Prevents one program to interface with another program
- Protects itself from bad programs
- Takes care of inter-process communications
So, Linux Kernel performs the same role in any Linux distribution. Popular Linux Distributions currently are Fedora, Ubuntu, RedHat, CentOS etc.
Beginning of Linux:
Linux has a humble beginning. It was started by a student from University of Finland in 1991. His name is Linux Torvalds. It was originally inspired on Andrew Tanenbaum’s Minix operating system and follows POSIX (i.e. Portable Operating System Interface) and Single - UNIX - Specification standards.
- First Official Linux release was 0.0.2 – released on Oct 5, 1991 : This was limited version and only allowed bash and gcc programs to run
- The First Stable release was Ver 1.0 – This release was part of a development phase
- Linux Kernel releases follow a development phase and development phase is denoted by version number.
- Development Phase – denoted by odd numbers such as 1.1, 2.1, 3.1 and so on: During this period, Kernel features are added and developed.
- Stabilization Phase – denoted by even numbers such as 1.2, 2.2, 2.4, 3.2, 3.4 and so on : During this period, very smaller changes are made to Kernel – mainly bug fixes and optimization of Kernel performance
- When Kernel moves from mainline, either it will be categorizes as EOL (end of life) or Longterm – Visit Linux FAQ page for more details