我一直在阅读关于内存管理,保护,分页等的内容,虽然我确实得到了虚拟内存的要点,但有两件事情我仍然有些模糊。
现在,当用户空间进程启动时,内核会为它设置内存和分页表(据我所知)。现在程序启动后,内存访问的确切工作方式是什么?每个需要读取/写入内存的动作(基本上几乎所有内容)都需要通过内核进行地址转换,或者直接过程"访问内存。意思是有一个组件(主要是mmu)可以即时进行转换而无需切换到内核。翻译。
tl; dr 是否存在虚拟的物理组件>物理地址映射,或者全部由内核处理。
P.S。如果它真的很重要我在谈论x86 cpu和linux。