VirtualBox

Changes between Version 16 and Version 17 of VirtualBox architecture


Ignore:
Timestamp:
Nov 16, 2006 5:37:41 PM (18 years ago)
Author:
jose
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • VirtualBox architecture

    v16 v17  
    7878
    7979 * In '''root mode''', its behavior is very similar to the standard mode of operation (without VMX), and this is the context that a virtual machine monitor (VMM) runs in.
    80  * The '''non-root mode''' (or guest context, if you want) is designed for running a virtual machine.
     80 * The '''non-root mode''' (or guest context, if you want) is designed for running a virtual machine. 
    8181
    82 The notable novelty is that all four privilege levels (rings) are supported in either mode, so guest software can theoretically run at any of them.
     82One notable novelty is that all four privilege levels (rings) are supported in either mode, so guest software can theoretically run at any of them. VMX then defines transitions from root to non-root mode (and vice versa) and calls these "VM entry" and "VM exit".
    8383
    84 Since, however, nearly all operating systems in use today only make use of ring-0 and ring-3, and since context switching between root mode and non-root mode is very expensive, !VirtualBox does not use VMX entirely as intended by Intel. Instead, we make partial use of it -- only where it makes sense and where it helps us to improve performance.
     84In non-root mode, the processor will automatically cause VM exits for certain privileged instructions and events. For some of these instructions, it is even configurable whether VM exits should occur.
     85
     86Since, however, nearly all operating systems in use today only make use of ring-0 and ring-3, and since a lot of operations in non-root mode are very expensive, !VirtualBox does not use VMX exactly as intended by Intel. Instead, we make partial use of it -- only where it makes sense and where it helps us to improve performance. So, as said above, our hypervisor, on non-VMX machines, lives in ring 0 of the guest context, below the guest ring-0 code that is actually run in ring 1. When VMX is enabled, the hypervisor can safely live in ring 0 ''host'' context and gets activated automatically by use of the new VM exits.
    8587
    8688

© 2023 Oracle
ContactPrivacy policyTerms of Use