= Binaries overview = When you build !VitualBox, you get a rather large number of binary files which make up the product. This page tries to explain what purpose they serve and thereby also give you a better understanding of its modular architecture. In the table, for cross platform files, the Windows file extensions are used assuming that Linux users know that .exe is omitted and .dll becomes .so on their platform. || '''File name''' || '''Description''' || || {{{VBoxBFE.exe}}} || Basic frontend. This is mainly a development aid and bypasses our COM layer by talking directly to the VMM API. We also make use of this frontend on embedded systems such as ยต-kernels. || || {{{VBoxC.dll}}} || Client-side COM library. All COM (or XPCOM) objects that live on the client side (i.e. inside the VM execution process) are contained in this file. So {{{IConsole}}} and friends go there. || || {{{VBoxDD.dll}}} || Virtual devices user level code (R3). This implements all virtual devices besides the parts that run in guest context (GC) or ring-0 context (R0). || || {{{VBoxDD2.dll}}} || Virtual devices user level for devices where we make use of 3rd party source code licensed under the LGPL. This license requires us to separate the sources from other code that also offer with a closed-source license. || || {{{VBoxDD2GC.gc}}} || Virtual devices guest context (GC) code for devices where we make use of 3rd party LGPL sources. || || {{{VBoxDD2R0.r0}}} || Virtual devices ring-0 (R0) context code for devices where we make use of 3rd party LGPL sources. || || {{{VBoxDDGC.gc}}} || Virtual devices guest context (GC) code. || || {{{VBoxDDR0.r0}}} || Virtual devices ring-0 (R0) context code. || || {{{VBoxGuestAdditions.iso}}} || CDROM image containing the !VirtualBox Guest Additions for Windows and Linux. || || {{{VBoxManage.exe}}} || !VirtualBox command line interface accessing our COM API. || || {{{VBoxREM.dll}}} || Our recompiler based on [wiki:"QEMU"] for certain fallback situations. || || {{{VBoxRT.dll}}} || The !VirtualBox Portable Runtime (IPRT). || || {{{VBoxSDL.exe}}} || A simple !VirtualBox frontend based on the SDL toolkit. || || {{{VBoxSVC.exe}}} || The !VirtualBox COM service, i.e. all COM objects that live outside the VM process. || || {{{VBoxVMM.dll}}} || User level parts of the Virtual Machine Monitor (VMM). || || {{{VBoxXML.dll}}} || Interface library for our XML configuration store. || || {{{VirtualBox.exe}}} || The main frontend based on the Qt library. || || {{{VMMGC.gc}}} || Guest context (GC) portions of the VMM. || || {{{VMMR0.r0}}} || Ring-0 (R0) context portions of the VMM. || || {{{VBoxDrv.sys}}} || Kernel driver that !VirtualBox needs to gain control over the system. On Linux, it's the {{{vboxdrv}}} kernel module. ||