Does the kernel code run through the MMU and page tables?



Hi,
Does the kernel code run through the MMU and page tables?

My expectation was No as among others there is no need to relocate
dynamically the kernel code and associated data if paging for instance
is used. The kernel code consists of a set of pre known processes that
are loaded in a pre-set area in the memory. If the code runs through
MMU and page tables, this will slow down the kernel code execution.

I read that in the coming 64-bit machine, inverted page table will be
used to do the translation. If
the kernel code is running through the MMU and inverted page table, do
the systems allocate a single "inverted page table" for both user
processes and kernel processes or instead one for each type


thanks

.