On a single core computer, one thread is executing at a time. On each context switch the scheduler checks if the new thread to schedule is in the same process than the previ
AFAIK there is a single MMU per physical processor, at least in SMP systems, so all cores share a single MMU.
In NUMA systems each core has a separate MMU, because each core has its own private memory.