VirtualBox

Changes between Version 19 and Version 20 of VirtualBox architecture


Ignore:
Timestamp:
Nov 17, 2006 11:37:32 AM (17 years ago)
Author:
jose
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • VirtualBox architecture

    v19 v20  
    4040
    4141As said above, from the perspective of the host OS, a virtual machine is just another process. The host OS does not need much tweaking to support virtualization.
     42Even though there is a ring-0 driver that must be loaded in the host OS for !VirtualBox to work, this ring driver does less than you may think. It is only needed for a few specific tasks, such as:
    4243
    43 When a VM is running, from your processor's point of view, your computer can be in one of several states (the following will require a good understanding of the x86 ring architecture):
     44 * allocating physical memory for the VM;
     45
     46 * saving and restoring CPU registers and descriptor tables when a host interrupt occurs while a guest's ring-3 code is executing (e.g. when the host OS wants to reschedule);
     47
     48 * when switching from host ring-3 to guest context;
     49
     50 * enable or disable VT-x etc. support.
     51
     52Most importantly, the host's ring-0 driver does ''not'' mess with your OS's scheduling or process management. The entire guest OS, including its own hundreds of processes, is only scheduled when the host OS gives the VM process a timeslice.
     53
     54After a VM has been started, from your processor's point of view, your computer can be in one of several states (the following will require a good understanding of the x86 ring architecture):
    4455
    4556 1. Your CPU can be '''executing host ring-3 code''' (e.g. from other host processes), or '''host ring-0 code,''' just as it would be if !VirtualBox wasn't running.
     
    6071   * ring 0 (which is !VirtualBox code). This guest-context ring-0 code is also often called a '''"hypervisor".'''
    6172
    62 Finally, there is also a ring-0 driver that must be loaded in the host OS for !VirtualBox to work. However, this ring-0 driver does less than you may think. It is only needed for a few specific tasks, such as:
    63 
    64  * allocating physical memory for the VM;
    65 
    66  * saving and restoring CPU registers and descriptor tables when a host interrupt occurs while a guest's ring-3 code is executing (e.g. when the host OS wants to reschedule);
    67 
    68  * when switching from host ring-3 to guest context;
    69 
    70  * enable or disable VT-x etc. support.
    71 
    72 Most importantly, the host's ring-0 driver does ''not'' mess with your OS's scheduling or process management. The entire guest OS, including its own hundreds of processes, is only scheduled when the host OS gives the VM process a timeslice.
    73 
    7473
    7574== Intel VT-x ("Vanderpool") support ==

© 2023 Oracle
ContactPrivacy policyTerms of Use