扩展页表的用途是什么?

0 c cpu operating-system processor computer-architecture

我们可以使用C程序显示页表地址吗?页表和扩展页表有什么区别?

Jon*_*art 5

我们可以使用C程序显示页表地址吗?

不使用普通的C程序,不,您不能。用户模式程序使用分页机制在内核提供的虚拟内存中运行。所有这些都被抽象掉了,因此用户空间对此一无所知。

Linux内核确实为用户空间提供了一种机制来观察页表,如该问题所示

页表和扩展页表有什么区别?

“扩展页表”是Intel的二级地址转换(SLAT)的实现,也称为嵌套分页,用于更有效地虚拟化来宾VM的内存。

基本上,来宾虚拟地址首先转换为来宾物理地址,然后再转换为主机物理地址。这都是在硬件中完成(由MMU完成),以避免VMM在软件中需要完成额外的工作。