1

在现代操作系统中,每个进程都有自己的地址空间。这是否意味着每个进程都有自己的虚拟页表。或者虚拟页表对于操作系统中的所有进程都是通用的?如果每个进程都是通用的,那么本地进程地址空间的地址如何转换为虚拟地址?谁对此负责?

4

1 回答 1

1

页表是基于每个进程的。当进程切换发生时,相应的页表被换出,并通过更改架构cr3上的控制寄存器来应用新的进程页表。x86

理想情况下,分页单元分为 3 个字段:Page's Directory, Table& Offset。虚拟地址的转换是由两个转换表完成的,页目录和页表。每个活动进程都有一个分配给它的页面目录。虚拟地址中的该字段确定页面目录中指向正确页表的条目。地址表字段确定页表中的条目,该条目包含包含页面的页框的物理地址,其后的偏移字段确定页框内的相对位置。

查看页表MMU了解更多详情。

于 2013-10-15T08:49:07.220 回答