I have read the following in here:
the kernel has access to all of the memory
What I want to know is, how does the kernel access the memory of other processes.
What I am almost sure of is that the kernel cannot access physical memory, it can only access virtual memory.
Now each process has a page table that is used to convert virtual addresses to physical addresses. And since the kernel have access to all of the page tables for all processes (the page tables exist in the kernel space I suppose), then if the kernel wants to access the memory of Process A for example, it can use the page table of Process A and access Process A's memory through this page table.
Am I correct?