请教大牛,我想了几天没想通的问题
虚拟地址空间到物理地址空间的映射是由硬件实现的。但是内存中有多少个页表呀?如果一个进程一个页表,每次进程切换就换一个页表,比如说进程A的页表把虚拟地址VP2映射到物理地址PP3,如果再切换到进程B的时候,B也不会知道A已经使用了物理地址PP3的块呀,这个时候进程B不是会对PP3重新在自己的页表中映射了吗?
如果整个系统就一个页表,还是跟上面一种假设对进程A的虚拟地址VP2映射到物理地址PP3,再切换到进程B的时候,如果B想访问自己的虚拟地址VP2的内容,查找页表的时候就可以找到对应的物理地址PP3,但是内容却是进程A的。
32位系统到底如何实现这种每个进程有4G独立的虚拟地址空间和多进程多任务的呀?