[vbox-dev] VirtualBox Questions

Klaus Espenlaub klaus.espenlaub at oracle.com
Mon Jul 19 06:50:33 PDT 2010

On 16.07.2010 20:48, Francesco Di Paolo wrote:
> Hello there,
> i'm a student of Computer Engineering who is approaching for the first
> time to VirtualBox(version 3.1.4 OSE installed from source code)in order
> to develop the final thesis. I have some question to ask:

Thanks for your interest in VirtualBox.

You're asking the wrong questions IMHO, otherwise you'd get more replies...

> 1)first of all, i would like to know which is the source code used for
> the start-up of VBox.

There are probably around 100 files which play a role in initializing a 
VM. If I'd list them it wouldn't help you much.

> 2)at the start-up, which are the data struct created?

Again, there are hundreds of individual data structures created, so 
asking for a list is not very helpful for anyone.

> 3)is there any document that talks in a deeply way about the concept of
> memory balooning?

Ballooning is conceptually quite easy - the host communicates the 
intended balloon size to the vbox driver in the guest OS. That allocates 
the physical memory and once it's done reports the pages as available 
for other VMs.

> In particular, i need to understand how the guest OS interacts with the
> native kernel(in my case linux 2.6.31),how the memory is managed and how
> my kernel manages the system calls generated by the virtual
> kernel,something about the flow control.

Apparently you think of direct guest/host OS interaction as it's 
commonplace in paravirtualization. Since VirtualBox runs unmodified 
operating systems the management is done based on a lower level of 
abstraction. VirtualBox handles I/O (port and memory based), emulates 
device behavior and interrupt signalling, and that's the main way of 


> Any kind of help will be VERY appreciated.
> Thank You

More information about the vbox-dev mailing list