199 lines
8.6 KiB
ReStructuredText
199 lines
8.6 KiB
ReStructuredText
.. _glossary:
|
|
|
|
Glossary of Terms
|
|
#################
|
|
|
|
.. glossary::
|
|
:sorted:
|
|
|
|
LaaG
|
|
WaaG
|
|
Acronyms for Linux and Windows as a Guest VM. ACRN supports a
|
|
variety of :term:`User VM` OS choices. Your choice depends on the
|
|
needs of your application. For example, Windows is popular for
|
|
Human-Machine Interface (HMI) applications in industrial applications,
|
|
while Linux is a likely OS choice for a VM running an AI application.
|
|
|
|
ACPI
|
|
Advanced Configuration and Power Interface
|
|
|
|
ACRN
|
|
ACRN is a flexible, lightweight reference hypervisor, built with
|
|
real-time and safety-criticality in mind, optimized to streamline
|
|
embedded development through an open source platform.
|
|
|
|
API
|
|
Application Program Interface: A defined set of routines and protocols for
|
|
building application software.
|
|
|
|
APL
|
|
Apollo Lake platform
|
|
|
|
BDW
|
|
Broadwell, Intel 5th-generation CPU platform
|
|
|
|
BIOS
|
|
Basic Input/Output System.
|
|
|
|
DM
|
|
Device Model
|
|
An application within the Service VM responsible for creating and
|
|
launching a User VM and then performing device emulation for the devices
|
|
configured for sharing with that User VM. The Service VM and Device Model
|
|
can access hardware resources directly through native drivers and provide
|
|
device sharing services to User VMs. User VMs can access hardware devices
|
|
directly if they've been configured as passthrough devices.
|
|
|
|
Development Computer
|
|
Host
|
|
As with most IoT development environments, you configure, compile, and
|
|
build your application on a separate system from where the application is
|
|
deployed and run (i.e., the :term:`Target`). ACRN recommends using Ubuntu
|
|
18.04 as the OS on your development computer and that is an assumption in
|
|
our documentation.
|
|
|
|
Guest
|
|
Guest VM
|
|
A term used to refer to any :term:`VM` that runs on the hypervisor. Both Service
|
|
and User VMs are considered Guest VMs from the hypervisor's perspective,
|
|
albeit with different properties. *(You'll find the term Guest used in the
|
|
names of functions and variables in the ACRN source code.)*
|
|
|
|
GVT-d
|
|
Virtual dedicated graphics acceleration (one VM to one physical GPU).
|
|
|
|
Hybrid
|
|
One of three operation scenarios (partitioned, shared, and hybrid) that ACRN supports.
|
|
In the hybrid mode, some physical hardware resources can be partitioned to
|
|
individual User VMs while others are shared across User VMs.
|
|
|
|
IDT
|
|
Interrupt Descriptor Table: a data structure used by the x86
|
|
architecture to implement an interrupt vector table. The IDT is used
|
|
to determine the correct response to interrupts and exceptions.
|
|
|
|
ISR
|
|
Interrupt Service Routine: Also known as an interrupt handler, an ISR
|
|
is a callback function whose execution is triggered by a hardware
|
|
interrupt (or software interrupt instructions) and is used to handle
|
|
high-priority conditions that require interrupting the code that is
|
|
executing on the processor.
|
|
|
|
Passthrough Device
|
|
Physical I/O devices (typically PCI) exclusively assigned to a User VM so
|
|
that the VM can access the hardware device directly and with minimal (if any)
|
|
VM management involvement. Normally, the Service VM owns the hardware
|
|
devices shared among User VMs and virtualized access is done through
|
|
Device Model emulation.
|
|
|
|
Partitioned
|
|
One of three operation scenarios (partitioned, shared, and hybrid) that ACRN supports.
|
|
Physical hardware resources are dedicated to individual User VMs.
|
|
|
|
Pre-launched VM
|
|
A :term:`User VM` launched by the hypervisor before the :term:`Service VM`
|
|
is started. Such a User VM runs independently of and is partitioned from
|
|
the Service VM and other post-launched VMs. It has its own carefully
|
|
configured and dedicated hardware resources such as CPUs, memory, and I/O
|
|
devices. Other VMs, including the Service VM, may not even be aware of a
|
|
pre-launched VM's existence. A pre-launched VM can be used as a
|
|
special-case :term:`Safety VM` for reacting to critical system failures.
|
|
It cannot take advantage of the Service VM or Device Model services.
|
|
|
|
Post-launched VM
|
|
A :term:`User VM` configured and launched by the Service VM and typically
|
|
accessing shared hardware resources managed by the Service VM and Device
|
|
Model. Most User VMs are post-launched while special-purpose User VMs are
|
|
pre-launched.
|
|
|
|
QEMU
|
|
Quick EMUlator. Machine emulator running in user space.
|
|
|
|
RDT
|
|
Intel Resource Director Technology (Intel RDT) provides a set of
|
|
monitoring and allocation capabilities to control resources such as
|
|
Cache and Memory. ACRN supports Cache Allocation Technology (CAT) and
|
|
Memory Bandwidth Allocation (MBA).
|
|
|
|
RTVM
|
|
Real-time VM
|
|
A :term:`User VM` configured specifically for real-time applications and
|
|
their performance needs. ACRN supports near bare-metal performance for a
|
|
post-launched real-time VM by configuring certain key technologies or
|
|
enabling device-passthrough to avoid common virtualization and
|
|
device-access overhead issues. Such technologies include: using a
|
|
passthrough interrupt controller, polling-mode Virtio, Intel RDT
|
|
allocation features (CAT, MBA), and I/O prioritization. RTVMs are
|
|
typically a :term:`Pre-launched VM`. A non-:term:`Safety VM` with
|
|
real-time requirements is a :term:`Post-launched VM`.
|
|
|
|
Safety VM
|
|
A special VM with dedicated hardware resources for providing overall
|
|
system health-monitoring functionality. A safety VM is always a
|
|
pre-launched User VM, either in a partitioned or hybrid scenario.
|
|
|
|
Scenario
|
|
A collection of hypervisor and VM configuration settings that define an
|
|
ACRN-based application's environment. A scenario configuration is stored
|
|
in a scenario XML file and edited using the ACRN configurator tool. The
|
|
scenario configuration, along with the target board configuration, is used
|
|
by the ACRN build system to modify the source code to build tailored
|
|
images of the hypervisor and Service VM for the application. ACRN provides
|
|
example scenarios for shared, partitioned, and hybrid configurations that
|
|
developers can use to define a scenario configuration appropriate for
|
|
their own application.
|
|
|
|
Service VM
|
|
A special VM, directly launched by the hypervisor. The Service VM can
|
|
access hardware resources directly by running native drivers and provides
|
|
device sharing services to post-launched User VMs through the ACRN Device
|
|
Model (DM). Hardware resources include CPUs, memory, graphics memory, USB
|
|
devices, disk, and network mediation. *(Historically, the Service VM was
|
|
called the Service OS or SOS.)*
|
|
|
|
Shared
|
|
One of three operation scenarios (shared, hybrid, partitioned) that ACRN supports.
|
|
Most of the physical hardware resources are shared across User VMs.
|
|
*(In releases prior to 2.7, this was called the "Industry" scenario.)*
|
|
|
|
Target
|
|
This is the hardware where the configured ACRN hypervisor and
|
|
developer-written application (built on the :term:`Development Computer`) is
|
|
deployed and runs.
|
|
|
|
UEFI
|
|
Unified Extensible Firmare Interface. UEFI replaces the
|
|
traditional BIOS on PCs, while also providing BIOS emulation for
|
|
backward compatibility. UEFI can run in 32-bit or 64-bit mode and, more
|
|
important, support Secure Boot, checking the OS validity to ensure no
|
|
malware has tampered with the boot process.
|
|
|
|
User VM
|
|
A :term:`VM` where user-defined environments and applications run. User VMs can
|
|
run different OSes based on their needs, including for example, Ubuntu for
|
|
an AI application, Windows for a Human-Machine Interface, or a
|
|
hard real-time control OS such as Zephyr, VxWorks, or RT-Linux for soft or
|
|
hard real-time control. There are three types of ACRN User VMs: pre-launched,
|
|
post-launched standard, and post-launched real-time. *(Historically, a
|
|
User VM was also called a User OS, or simply UOS.)*
|
|
|
|
VM
|
|
Virtual Machine
|
|
A compute resource that uses software instead of physical hardware to run a
|
|
program. Multiple VMs can run independently on the same physical machine,
|
|
and with their own OS. A hypervisor uses direct access to the underlying
|
|
machine to create the software environment for sharing and managing
|
|
hardware resources.
|
|
|
|
VMM
|
|
Virtual Machine Monitor
|
|
|
|
VMX
|
|
Virtual Machine Extension
|
|
|
|
VT
|
|
Intel Virtualization Technology
|
|
|
|
VT-d
|
|
Virtualization Technology for Directed I/O
|