VirtualBox

Changes between Initial Version and Version 1 of VirtualBox architecture


Ignore:
Timestamp:
Nov 16, 2006 3:31:30 PM (17 years ago)
Author:
jose
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • VirtualBox architecture

    v1 v1  
     1= The VirtualBox architecture =
     2
     3[wiki:"Virtualization"] is, by nature, extraordinarily complex, especially so on x86 hardware. Understanding the !VirtualBox source code therefore requires, at least for some components, a great deal of understanding about the details of the x86 architecture as well as great knowledge about the implementations of the host and guest platforms involved.
     4
     5There are several ways how to approach how !VirtualBox works. This document shall describe them in order of increasing complexity.
     6
     7== The !VirtualBox modules: a bird's eye view ==
     8
     9When you start the !VirtualBox graphical user interface (GUI), at least one extra process gets started along the way -- the !VirtualBox server, normally dubbed `VBoxSVC`. The !VirtualBox GUI is only one of several "frontends" to the !VirtualBox "core", which is encapsulated in several rather large libraries (among them `VBoxVMM.dll`, or `VBoxVMM.so`).
     10
     11Once you start a virtual machine (VM) from the GUI, you have three processes running:
     12
     13 1. `VirtualBox`, the GUI for the main window;
     14 1. `VirtualBoxSVC`, a daemon running in the background that keeps track of all the processes involved (this was automatically started by the first GUI process);
     15 1. another `VirtualBox` process that was started with the `-startvm` parameter, which means that its GUI process acts as a shell for a VM.
     16
     17(On Linux, there's another process called `VBoxXPCOMIPCD` which is necessary for our XPCOM implementation to work. We will ignore this for now; see [wiki:"COM-XPCOM interoperability"] for details.)
     18

© 2023 Oracle
ContactPrivacy policyTerms of Use