User space and kernel space
The concepts of kernel space and user space are a bit abstract. It is all about memory and access rights. One may consider the kernel to be privileged, whereas user apps are restricted. This is a feature of a modern CPU, allowing it to operate either in privileged or unprivileged mode. This concept will be clearer to you in Chapter 11, Kernel Memory Management:

User space and kernel space
The preceding diagram introduces the separation between kernel and user space, and highlights the fact that system calls represent a bridge between them (we discuss this later in this chapter). We can describe each space as follows:
- Kernel space: This is a set of addresses where the kernel is hosted and where it runs. Kernel memory (or kernel space) is a memory range, owned by the kernel, protected by access flags, preventing any user apps from messing with the kernel (un)knowingly. On the other hand, the kernel can access the whole system memory, since it runs with the highest...