Details

Open-source full x86 virtualization: InnoTek VirtualBox

von Ulrich Möller (VirtualBox (InnoTek Systemberatung GmbH))

Mittwoch, 30.05.2007, Saal 3: Berlin, 16:00-17:00 Uhr

On Jan 15, 2007, InnoTek VirtualBox was publicly released on www.virtualbox.org. The VirtualBox Open Source Edition (OSE) is licensed under the GPL2, making it the first full x86 virtualizer whose source code is available.

The talk will present a technical overview how VirtualBox works internally and compares to other virtualization solutions.

InnoTek usually calls VirtualBox a "full virtualizer" to differentiate it from such other techniques, which are emulation (for example, as provided by QEMU) and paravirtualization (provided by, for example, Xen). The talk will give an overview of how these three techniques differ and why a specific technique might be more useful for one scenario instead of another.

Then, a look at the differences within the "full virtualization" department shall follow. The talk will describe how VirtualBox achieves its near-native speed through a clever combination of existing and entirely new techniques, where its bottlenecks are and how these can possibly be improved upon. In brief, VirtualBox attempts to run as much guest code directly on the processor as possible; it executes guest ring-0 code in the (otherwise unused) ring 1. Whenever guest code then traps for whatever reason, VirtualBox steps in and usually emulates the offending code. Since such traps are very expensive in terms of performance, VirtualBox then patches that particular guest code to avoid traps in the future.

Since VirtualBox is now open-source software, anyone can now look at these techniques and improve the code. There are a number of fields where input is greatly appreciated -- not only from users, but also from developers. Of course virtualization is very complex technically, so the number of competent developers may be smaller than in other fields of computing. Still, InnoTek hopes that there will be volunteers to help, for example by helping to port VirtualBox to other host platforms (*BSD, native Gnome integration) and support more guest operating systems better (through Guest Additions for *BSD, OS/2 and others).

Über den Autor Ulrich Möller:

Dr. Ulrich Möller is both a lawyer and a freelance and open-source programmer. On the one hand, he completed his law degrees in Freiburg and Berlin, worked as an assistant to Prof. Dr. Rainer Schröder at the Humboldt University in Berlin and completed his doctorate in 19th century
history of copyright law. All the while, he also worked as a freelance and open-source programmer. Back in the days of OS/2 operating system, he created the XWorkplace and WarpIN projects (whoever is still interested may peek at xworkplace.org); in 2002, he finally switched to Gentoo Linux and has not looked back since.
After many years in a reputable media and copyright law firm, he opened his own office in Berlin in 2006, specializing in IT and copyright law. He is consultant to InnoTek Systemberatung GmbH, maker of VirtualBox, and as a member of the development team, responsible for much of the product's documentation.

<< back to overview