XenTerminology

From Xen
Revision as of 10:57, 24 June 2013 by Lars.kurth (talk | contribs) (Xen Terminology)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Icon todo.png Needs Refactor

Defines key terminology, a little old, could split into glossary items or be part of some Xen overview guide


Xen Terminology

To add a definition, please provide a 1- or 2-line explanation, followed by a link to more details (other wiki pages, external web pages, etc) when available.

Basics

  • guest operating system: An operating system that can run within the Xen environment.
  • hypervisor: Code running at a higher privilege level than the supervisor code of its guest operating systems.
  • virtual machine monitor ("vmm"): In this context, the hypervisor.
  • domain: A running virtual machine within which a guest OS executes.
  • domain0 ("dom0"): The first domain, automatically started at boot time. Dom0 has permission to control all hardware on the system, and is used to manage the hypervisor and the other domains.
  • unprivileged domain ("domU"): A domain with no special hardware access.
  • hypercall: a syscall what a hypervisor is to an OS

Approaches to Virtualization

  • full virtualization: An approach to virtualization which requires no modifications to the hosted operating system, providing the illusion of a complete system of real hardware devices.
  • paravirtualization: An approach to virtualization which requires modifications to the operating system in order to run in a virtual machine. Xen uses paravirtualization but preserves binary compatibility for user space applications.

Address Spaces

  • MFN (machine frame number): Real host machine address; the addresses the processor understands.
  • GPFN (guest pseudo-physical frame number): Guests run in an illusory contiguous physical address space, which is probably not contiguous in the machine address space.
  • GMFN (guest machine frame number): Equivalent to GPFN for an auto-translated guest, and equivalent to MFN for normal paravirtualised guests. It represents what the guest thinks are MFNs.
  • PFN (physical frame number): A catch-all for any kind of frame number. "Physical" here can mean guest-physical, machine-physical or guest-machine-physical.

Page Tables

  • l4 table: Define me.
  • l3 table: Define me.
  • l2 table: Define me.
  • l1 table: Define me.
  • SPT (shadow page table): shadow version of a guest OSes page table. Useful for numerous things, for instance in tracking dirty pages during live migration.
  • PAE: Intel's Physical Addressing Extensions, which enable x86/32 machines to address up to 64 GB of physical memory.
  • PSE (page size extension): used as a flag to indicate that a given page is ahuge/super page (2/4 MB instead of 4KB).

Shadow Page Table Modes

  • external: Define me.
  • translate: Define me.

x86 Architecture

  • HVM: Hardware Virtual Machine, which is the full-virtualization mode supported by Xen. This mode requires hardware support, e.g. Intel's Virtualization Technology (VT) and AMD's Pacifica technology.
  • SVM: full-virtualization support on AMD's Pacifica-enabled processors
  • VT-x: full-virtualization support on Intel's x86 VT-enabled processors
  • VT-i: full-virtualization support on Intel's IA-64 VT-enabled processors
  • shadow mode: Define me.
  • writable page tables: Define me.

Networking Infrastructure

  • backend: one half of a communication end point - interdomain communication is implemented using a frontend and backend device model interacting via event channels.
  • frontend: the device as presented to the guest; other half of the communication endpoint.
  • vif: virtual interface; the name of the network backend device connected by an event channel to a network front end on the guest.
  • event channel: Define me.
  • vethN: local networking front end on dom0; renamed to ethN by xen network scripts in bridging mode (FIXME)
  • pethN: real physical device (after renaming)

Migration

  • Live migration: A technique for moving a running virtual machine to another physical host, without stopping it or the services running on it.

Scheduling

  • BVT: The Borrowed Virtual Time scheduler is used to give proportional fair shares of the CPU to domains.
  • SEDF: The Simple Earliest Deadline First scheduler provides weighted CPU sharing in an intuitive way and uses realtime algorithms to ensure time guarantees.