In a virtual machine monitor such as VMware’s ESXi Server, how are shadow page tables implemented?

Posted by ali01 on Server Fault See other posts from Server Fault or by ali01
Published on 2010-04-19T21:10:25Z Indexed on 2010/04/19 21:13 UTC
Read the original article Hit count: 143

My understanding is that VMMs such as VMware's ESXi Server maintain shadow page tables to map virtual page addresses of guest operating systems directly to machine (hardware) addresses. I've been told that shadow page tables are then used directly by the processor's paging hardware to allow memory access in the VM to execute without translation overhead.

I would like to understand a bit more about how the shadow page table mechanism works in a VMM.

  • Is my high level understanding above correct?

  • What kind of data structures are used in the implementation of shadow page tables?

  • What is the flow of control from the guest operating system all the way to the hardware?

  • How are memory access translations made for a guest operating system before its shadow page table is populated?

  • How is page sharing supported?

  • Short of straight up reading the source code of an open source VMM, what resources can I look into to learn more about hardware virtualization?

© Server Fault or respective owner

Related posts about virtualization

Related posts about vmware