System Administration Guide: Virtualization Using the Solaris Operating System
Previous Next

Resource Virtualization to Enable Interoperability

As a key component of virtual machines, the hypervisor provides a layer between software environments and physical hardware that has the following characteristics:

  • Programmable and transparent to the software above it

  • Makes efficient use of the hardware below it

Virtualization provides a way to bypass interoperability constraints. Virtualizing a system or component such as a processor, memory, or an I/O device at a given abstraction level maps its interface and visible resources onto the interface and resources of an underlying, possibly different, real system. Consequently, the real system appears as a different virtual system or even as multiple virtual systems.

The hypervisor assigns one or more virtual CPUs (VCPUs) to each domain. Each VCPU contains all the state one would typically associate with a physical CPU, such as registers, flags, and timestamps. A VCPU in xVM is an entity that can be scheduled, like a thread in Solaris. When it is a domain's turn to run on a CPU, xVM loads the physical CPU with the state in the VCPU, and lets it run. Solaris treats each VCPU as it would a physical CPU. When the hypervisor selects a VCPU to run, it will be running the thread that Solaris loaded on the VCPU.

Previous Next