Information Technology Reference
In-Depth Information
Some operating systems may run device drivers in ring 1, which can cause a
conflict with the relocated guest kernel code. These types of guests will require
hardware virtualization.
5.1.1 Oracle VM VirtualBox Architecture
VirtualBox uses a layered architecture consisting of a set of kernel modules for
running virtual machines, an API for managing the guests, and a set of user
programs and services. At the core is the hypervisor, implemented as a ring 0
(privileged) kernel service. Figure 5.2 shows the relationships between all of these
components. The kernel service consists of a device driver named vboxsrv , which
is responsible for tasks such as allocating physical memory for the guest virtual
machine, and several loadable hypervisor modules for things like saving and re-
storing the guest process context when a host interrupt occurs, turning control
over to the guest OS to begin execution, and deciding when VT-x or AMD-V events
need to be handled.
The hypervisor does not get involved with the details of the guest operating sys-
tem scheduling. Instead, those tasks are handled completely by the guest during
its execution. The entire guest is run as a single process on the host system and
will run only when scheduled by the host. If they are present, an administrator
can use host resource controls such as scheduling classes and CPU caps or reser-
vations to give very predictable execution of the guest machine.
Management Layer
Command Line
Interface
Web Services
API
Console GUI
Oracle VM VirtualBox API Layer
Other
Devices
Virtual USB
Devices
Virtual
Disks
Virtual NICs
Virtual
Devices
Mac OS
Live
Migration
Resource
Monitor
RDP
Server
Linux
VirtualBox Hypervisor
Windows, Linux, Mac OS, Solaris, FreeBSD
Windows
Solaris OS
Portability
Layer
Kernel Mode
Figure 5.2 Oracle VM VirtualBox Architecture
 
 
Search WWH ::




Custom Search