You have seen that handling the virtual address space of userland processes is a very important part of the Linux kernel. I have introduced you to the general structure of address spaces and how they are managed by the kernel, and you have learned how they are partitioned into regions. These allow for describing the contents of the virtual memory space of userland processes and form the backbone for linear and nonlinear memory mappings. Besides, they are connected with paging, which helps to manage the connection between physical and virtual memory.

Since the virtual address space of each userland process is different but the virtual address space portion of the kernel always remains the same, some effort is required to exchange data between both, and I have introduced you to the mechanisms required for this purpose.

Continue reading here: Communication

Was this article helpful?

0 0