[vbox-dev] Understanding VirtualBox Memory Management (via the source code)

Anton Ovchinnikov revolver112 at gmail.com
Thu Feb 14 19:35:55 GMT 2013

(My original message at Virtualbox forums:


I would like to have a deeper understanding how memory management is
implemented in VirtualBox, but I don't know where to start from.
I've read a lot about the concepts of shadow page tables and guest-host
translation and now I want to find the mentioned things in the source code.
Let's say I want to write some kind of an additional module (for research
purposes) that extracts RAM of a virtual machine to a separate file. This
involves shadow page tables/directories walking and so on, as far as I

But currently I am struggling with the VirtualBox source code. I haven't
found yet the specific C structures that are responsible for shadow page
table representation or the code that performs guest-host memory
translation. At the moment I'm browsing 'src/VBox/VMM' folder, but haven't
advanced a lot.

Could someone point me to the right direction? Where to look at first?
Where the main translation procedures are located?
Thank you.

Best regards,
Anton Ovchinnikov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20130214/a8d0deaa/attachment.html>

More information about the vbox-dev mailing list