The kernel of an operating system is the lowest software layer of the system and runs directly on the system’s processor. The kernel serves as an interface between hardware and software and ensures the parallel execution of applications. With a few small exceptions such as the machine-oriented programming language Assembler, the system kernel was written in the programming language C.

Table of Contents

Monolithic Kernel

Linux is a monolithic kernel, the inflexibility of a monolithic kernel was known to the kernel developers and therefore they outsourced the functionalities into kernel modules. The individual modules can be loaded and unloaded during runtime. In addition, the system kernel can be configured with only the required modules.

Kernel Version

In order to be able to interpret the version of the system kernel correctly, knowledge of the composition of the character string is an advantage. With the following command uname and the option -r the version number of the current system kernel is output.

Explanation of the Output
  • 4 – Kernel version increases with changes in the system architecture
  • 19 – Version number for major revisions
  • 0 – Version number for minor revisions (functional adaptations)
  • 10 – Minor changes like bug fixes (patch number)
  • amd64 – 64-bit system (AMD)

The information behind the second hyphen changes depending on the distribution, this example is a Debian distribution. Debian gives amd64 as the last information and Fedora x86_64, both of them are 64-bit systems.

Detailed information

A detailed output is given with the command uname and the option -a.

Source Code of the Kernel

Change with cd (change directory) into the kernel directory (Fedora, Red Hat) /usr/src/5.7.17-200.fc32.x86_64 and output the contents of the directory with ls (list). This directory contains the source code of the kernel.