1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
\chapter{Glossary of Terms}
\begin{description}
\item[Atropos] One of the CPU schedulers provided by Xen. Atropos
provides domains with absolute shares of the CPU, with timeliness
guarantees and a mechanism for sharing out `slack time'.
\item[BVT] The BVT scheduler is used to give proportional fair shares
of the CPU to domains.
\item[Exokernel] A minimal piece of privileged code, similar to a {\bf
microkernel} but providing a more `hardware-like' interface to the
tasks it manages. This is similar to a paravirtualising VMM like
{\bf Xen} but was designed as a new operating system structure,
rather than specifically to run multiple conventional OSs.
\item[Domain] A domain is the execution context that contains a
running {\bf virtual machine}. The relationship between virtual
machines and domains on Xen is similar to that between programs and
processes in an operating system: a virtual machine is a persistent
entity that resides on disk (somewhat like a program). When it is
loaded for execution, it runs in a domain. Each domain has a {\bf
domain ID}.
\item[Domain 0] The first domain to be started on a Xen machine.
Domain 0 is responsible for managing the system.
\item[Domain ID] A unique identifier for a {\bf domain}, analogous to
a process ID in an operating system.
\item[Full virtualisation] An approach to virtualisation which
requires no modifications to the hosted operating system, providing
the illusion of a complete system of real hardware devices.
\item[Hypervisor] An alternative term for {\bf VMM}, used because it
means `beyond supervisor', since it is responsible for managing
multiple `supervisor' kernels.
\item[Live migration] A technique for moving a running virtual machine
to another physical host, without stopping it or the services
running on it.
\item[Microkernel] A small base of code running at the highest
hardware privilege level. A microkernel is responsible for sharing
CPU and memory (and sometimes other devices) between less privileged
tasks running on the system. This is similar to a VMM, particularly
a {\bf paravirtualising} VMM but typically addressing a different
problem space and providing different kind of interface.
\item[NetBSD/Xen] A port of NetBSD to the Xen architecture.
\item[Paravirtualisation] An approach to virtualisation which requires
modifications to the operating system in order to run in a virtual
machine. Xen uses paravirtualisation but preserves binary
compatibility for user space applications.
\item[Shadow pagetables] A technique for hiding the layout of machine
memory from a virtual machine's operating system. Used in some {\bf
VMMs} to provide the illusion of contiguous physical memory, in
Xen this is used during {\bf live migration}.
\item[Virtual Block Device] Persistant storage available to a virtual
machine, providing the abstraction of an actual block storage device.
{\bf VBD}s may be actual block devices, filesystem images, or
remote/network storage.
\item[Virtual Machine] The environment in which a hosted operating
system runs, providing the abstraction of a dedicated machine. A
virtual machine may be identical to the underlying hardware (as in
{\bf full virtualisation}, or it may differ, as in {\bf
paravirtualisation}).
\item[VMM] Virtual Machine Monitor - the software that allows multiple
virtual machines to be multiplexed on a single physical machine.
\item[Xen] Xen is a paravirtualising virtual machine monitor,
developed primarily by the Systems Research Group at the University
of Cambridge Computer Laboratory.
\item[XenLinux] Official name for the port of the Linux kernel that
runs on Xen.
\end{description}
|