In the last article we explained what the Linux kernel is, now we will go into detail about what functional tasks it performs. The monolithic Linux kernel performs the most extensive range of tasks. The processing of incoming system calls takes place at the top level. These calls are the interface between the kernel and user applications. Hardware signals and interrupts are handled at the lower level.
However, the tasks of the kernel are not limited to just handling interrupts. It also includes device control programs. Drivers are needed to process signals coming from devices. A larger part of the kernel is allocated to them. Some of it is in the form of binary files. The version of the kernel without closed drivers is Linux-libre, in practice it is not so easy to use, because it is not always possible to build a PC based on components with only open drivers.
Other functional tasks of the kernel are working with abstractions. Virtual threads are generated by a virtual thread, a memory manager allocates and isolates a part of the RAM specifically for the process, a virtual file system forms a single space for storing files, sockets are created by a network module. This is how the conditions for ensuring a high level of security are created. The system of interprocess communication makes sure that there are no conflicts when accessing the same computer resources, and also provides data exchange between processes.
From the user software side it looks like physical hardware with the difference that the processor and RAM do not communicate directly, but through system calls. The /dev directory contains symbolic and block references for peripherals. A distinctive feature of block references is that they work only with blocks of a set size.
Despite the kernel's control over all processes, it does nothing itself, it needs user software and processes executed by this software. Among the basic software are the GNU utilities: it is hard to imagine any Linux distribution without them. One example is the Bash shell, which allows you to enter commands in the console.
Apply the discount by inserting the promo code in the special field at checkout:
Apply the discount by inserting the promo code in the special field at checkout: