Basic Linux kernel characteristics
An OS kernel is the primary software (SW), managing the hardware (HW) resources and providing them in a unified way to any user application. Whenever a program needs to access a USB stick, the internet, or open or save a file, it accesses OS SW interfaces. These interfaces are called Application Programming Interfaces (APIs). In this context, a unified way means the kernel API is the same, whether our PC is ASUS, Dell, HP, Lenovo, or another brand, and no matter the HW differences, such as the amount of Random Access Memory (RAM), the Central Processing Unit (CPU) or processor), or a different audio card.
Before going further, we have to define the terms task and process. They have strict definitions in the kernel development world. Despite this, many people use them as synonyms, as from a general perspective, the kernel’s job is to allocate the resources for a given process, no matter how many tasks it will perform. I will use them in a...