1.. _glossary: 2 3Glossary of Terms 4################# 5 6.. glossary:: 7 :sorted: 8 9 LaaG 10 WaaG 11 Acronyms for Linux and Windows as a Guest VM. ACRN supports a 12 variety of :term:`User VM` OS choices. Your choice depends on the 13 needs of your application. For example, Windows is popular for 14 Human-Machine Interface (HMI) applications in industrial applications, 15 while Linux is a likely OS choice for a VM running an AI application. 16 17 ACPI 18 Advanced Configuration and Power Interface 19 20 ACRN 21 ACRN is a flexible, lightweight reference hypervisor, built with 22 real-time and safety-criticality in mind, optimized to streamline 23 embedded development through an open source platform. 24 25 API 26 Application Program Interface: A defined set of routines and protocols for 27 building application software. 28 29 APL 30 Apollo Lake platform 31 32 BDW 33 Broadwell, Intel 5th-generation CPU platform 34 35 BIOS 36 Basic Input/Output System. 37 38 DM 39 Device Model 40 An application within the Service VM responsible for creating and 41 launching a User VM and then performing device emulation for the devices 42 configured for sharing with that User VM. The Service VM and Device Model 43 can access hardware resources directly through native drivers and provide 44 device sharing services to User VMs. User VMs can access hardware devices 45 directly if they've been configured as passthrough devices. 46 47 Development Computer 48 Host 49 As with most IoT development environments, you configure, compile, and 50 build your application on a separate system from where the application is 51 deployed and run (i.e., the :term:`Target`). ACRN recommends using Ubuntu 52 18.04 as the OS on your development computer and that is an assumption in 53 our documentation. 54 55 Guest 56 Guest VM 57 A term used to refer to any :term:`VM` that runs on the hypervisor. Both Service 58 and User VMs are considered Guest VMs from the hypervisor's perspective, 59 albeit with different properties. *(You'll find the term Guest used in the 60 names of functions and variables in the ACRN source code.)* 61 62 GVT-d 63 Virtual dedicated graphics acceleration (one VM to one physical GPU). 64 65 Hybrid 66 One of three operation scenarios (partitioned, shared, and hybrid) that ACRN supports. 67 In the hybrid mode, some physical hardware resources can be partitioned to 68 individual User VMs while others are shared across User VMs. 69 70 IDT 71 Interrupt Descriptor Table: a data structure used by the x86 72 architecture to implement an interrupt vector table. The IDT is used 73 to determine the correct response to interrupts and exceptions. 74 75 ISR 76 Interrupt Service Routine: Also known as an interrupt handler, an ISR 77 is a callback function whose execution is triggered by a hardware 78 interrupt (or software interrupt instructions) and is used to handle 79 high-priority conditions that require interrupting the code that is 80 executing on the processor. 81 82 Passthrough Device 83 Physical I/O devices (typically PCI) exclusively assigned to a User VM so 84 that the VM can access the hardware device directly and with minimal (if any) 85 VM management involvement. Normally, the Service VM owns the hardware 86 devices shared among User VMs and virtualized access is done through 87 Device Model emulation. 88 89 Partitioned 90 One of three operation scenarios (partitioned, shared, and hybrid) that ACRN supports. 91 Physical hardware resources are dedicated to individual User VMs. 92 93 Pre-launched VM 94 A :term:`User VM` launched by the hypervisor before the :term:`Service VM` 95 is started. Such a User VM runs independently of and is partitioned from 96 the Service VM and other post-launched VMs. It has its own carefully 97 configured and dedicated hardware resources such as CPUs, memory, and I/O 98 devices. Other VMs, including the Service VM, may not even be aware of a 99 pre-launched VM's existence. A pre-launched VM can be used as a 100 special-case :term:`Safety VM` for reacting to critical system failures. 101 It cannot take advantage of the Service VM or Device Model services. 102 103 Post-launched VM 104 A :term:`User VM` configured and launched by the Service VM and typically 105 accessing shared hardware resources managed by the Service VM and Device 106 Model. Most User VMs are post-launched while special-purpose User VMs are 107 pre-launched. 108 109 QEMU 110 Quick EMUlator. Machine emulator running in user space. 111 112 RDT 113 Intel Resource Director Technology (Intel RDT) provides a set of 114 monitoring and allocation capabilities to control resources such as 115 Cache and Memory. ACRN supports Cache Allocation Technology (CAT) and 116 Memory Bandwidth Allocation (MBA). 117 118 RTVM 119 Real-time VM 120 A :term:`User VM` configured specifically for real-time applications and 121 their performance needs. ACRN supports near bare-metal performance for a 122 post-launched real-time VM by configuring certain key technologies or 123 enabling device-passthrough to avoid common virtualization and 124 device-access overhead issues. Such technologies include: using a 125 passthrough interrupt controller, polling-mode Virtio, Intel RDT 126 allocation features (CAT, MBA), and I/O prioritization. RTVMs are 127 typically a :term:`Pre-launched VM`. A non-:term:`Safety VM` with 128 real-time requirements is a :term:`Post-launched VM`. 129 130 Safety VM 131 A special VM with dedicated hardware resources for providing overall 132 system health-monitoring functionality. A safety VM is always a 133 pre-launched User VM, either in a partitioned or hybrid scenario. 134 135 Scenario 136 A collection of hypervisor and VM configuration settings that define an 137 ACRN-based application's environment. A scenario configuration is stored 138 in a scenario XML file and edited using the ACRN Configurator tool. The 139 scenario configuration, along with the target board configuration, is used 140 by the ACRN build system to modify the source code to build tailored 141 images of the hypervisor and Service VM for the application. ACRN provides 142 example scenarios for shared, partitioned, and hybrid configurations that 143 developers can use to define a scenario configuration appropriate for 144 their own application. 145 146 Security VM 147 A special :term:`User VM` providing software-based security services 148 within a dynamic virtualized environment. Such security services are 149 application dependent and can include antivirus and malware detection, 150 virtualized firewalls, resource monitoring, and more. 151 152 Service VM 153 A special VM, directly launched by the hypervisor. The Service VM can 154 access hardware resources directly by running native drivers and provides 155 device sharing services to post-launched User VMs through the ACRN Device 156 Model (DM). Hardware resources include CPUs, memory, graphics memory, USB 157 devices, disk, and network mediation. *(Historically, the Service VM was 158 called the Service OS or SOS.)* 159 160 Shared 161 One of three operation scenarios (shared, hybrid, partitioned) that ACRN supports. 162 Most of the physical hardware resources are shared across User VMs. 163 *(In releases prior to 2.7, this was called the "Industry" scenario.)* 164 165 Target 166 This is the hardware where the configured ACRN hypervisor and 167 developer-written application (built on the :term:`Development Computer`) is 168 deployed and runs. 169 170 UEFI 171 Unified Extensible Firmare Interface. UEFI replaces the 172 traditional BIOS on PCs, while also providing BIOS emulation for 173 backward compatibility. UEFI can run in 32-bit or 64-bit mode and, more 174 important, support Secure Boot, checking the OS validity to ensure no 175 malware has tampered with the boot process. 176 177 User VM 178 A :term:`VM` where user-defined environments and applications run. User VMs can 179 run different OSes based on their needs, including for example, Ubuntu for 180 an AI application, Windows for a Human-Machine Interface, or a 181 hard real-time control OS such as Zephyr, VxWorks, or RT-Linux for soft or 182 hard real-time control. There are three types of ACRN User VMs: pre-launched, 183 post-launched standard, and post-launched real-time. *(Historically, a 184 User VM was also called a User OS, or simply UOS.)* 185 186 Virtual Machine 187 A compute resource that uses software instead of physical hardware to run a 188 program. Multiple VMs can run independently on the same physical machine, 189 and with their own OS. A hypervisor uses direct access to the underlying 190 machine to create the software environment for sharing and managing 191 hardware resources. 192 193 VMM 194 Virtual Machine Monitor 195 196 VMX 197 Virtual Machine Extension 198 199 VT 200 Intel Virtualization Technology 201 202 VT-d 203 Virtualization Technology for Directed I/O 204