As already mentioned, you see "pagetable" for the current process. With x86, entering privilege level below 3 does not change the page table. This is why most operating systems reserve sections of the virtual address space for the kernel. The memory in this space is mapped into each process. The memory in the kernel address space can be hidden from the user mode code by setting the u / s flag in the page frame to "0". This means that it is "system" memory, and not as user memory.
Changing the page table is usually done after switching to kernel mode, so kernel memory should be part of the process address space. He would not know where to find these data structures otherwise. The one exception is the "system management mode", which transparently switches address spaces. Suppose this can only happen in response to "interruption of system control", requires special hardware support from the motherboard, and by design cannot be suppressed by the operating system or respond to it.
In addition, in protected mode, the manipulation of the page table is always performed by the OS, after switching to kernel mode. This is part of why the “mode switch” is faster than the full context switch.
source share