(My original message at Virtualbox forums: <a href="https://forums.virtualbox.org/viewtopic.php?f=10&t=54122" target="_blank">https://forums.virtualbox.org/viewtopic.php?f=10&t=54122</a>)<br><br>Hello,<br><br>I would like to have a deeper understanding how memory management is implemented in VirtualBox, but I don't know where to start from. <br>
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 understand.<br>
<br>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. <br>
<br>Could someone point me to the right direction? Where to look at first? Where the main translation procedures are located?<br>Thank you.<br><br>--<br>Best regards, <br>Anton Ovchinnikov<br>