The kernel from service, driver, and process perspectives
As we learned at the beginning of the chapter, the Linux kernel manages resources. When a task calls an OpenFile
function, the kernel accepts the request and accesses the HDD via an ext4 kernel driver. If the file permissions allow the user to access it, the kernel opens the file and provides the user task with a RAM address to read the data. If a user task wants to save a file, it again calls a kernel API function, providing the data to be saved from RAM to the HDD. The kernel checks the permissions and, if allowed, takes the RAM-prepared data and saves it in the HDD. While the kernel executes the requests, the given user-space task waits. When the kernel finishes any of the tasks, it returns the control to the user process to continue its execution.
System Calls
The standard kernel API for operations is named System Calls Interface (SCI). We can list all System Calls (SysCalls) with their unique IDs via $ ausyscall ...