在开始使用QNX hypervisor(QH)或QNXHypervisor for Safety(QHS)(以下简称“hypervisor”)之前,了解我们用来描述QNX虚拟环境、hypervisor及其guests的术语,以及我们用来命名文件名的术语会很有用。
术语
请注意本指南中使用的以下术语:
- device 我们使用device来表示作为系统上的==物理组件存在==的硬件设备。对比vdev。
- guest guest是guest OS以及在该操作系统上运行的任何应用程序; 一个qvm流程实例(见下文)托管一个guest。guest虚拟机在qvm中运行。 如果我们需要区分guest OS 和application,我们会明确说明(例如:To stop an application without stopping the guest OS …)
- host 在大多数情况下,术语host 不是指电脑,而是指hypervisor或hypervisor中的某个东西。(例如:CPU指示guest程退出guest模式并继续以host模式运行 ) 当上下文没有明确Host的含义时,我们将使用development host来指代台式机或笔记本电脑,host domain或hypervisor hsot来表示hypervisor及其所有组件。 当讨论特权或异常级别时,我们将使用hypervisor host 或hypervisor host domain (e.g., “Processes running in the hypervisor host domain sometimes run at EL2 on ARM boards, or at VMX root mode on x86 boards”).
- hypervisor 为简单起见,我们可以使用术语 QNX hypervisor或 hypervisor 来指代 QH 和 QHS 变体。 如果您使用的是 QHS,请参阅 QNX Hypervisor for Safety 2.2 安全手册。
- qvm qvm(或qvm进程)是hypervisor 中托管guest的进程。 hypervisor启动qvm进程实例;每个qvm流程实例代表一个虚拟机(vm ),guest 可以在其中运行。 qvm进程有时在hypervisor host domain(它是hypervisor的一部分)的权限级别上运行,有时在它所托管的guest的较低权限级别上运行。
- vdev 我们使用virtual device(或vdev)来表示hypervisor以某种方式虚拟化的任何设备(参考本章的Virtual devices)。 vdevs的示例包括interrupt controller器(虚拟化)或Ethernet device controller(半虚拟化)。 如果我们将虚拟设备简单地称为设备,这是令人困惑和错误的,所以让我们了解一下。
- VM virtual machine(或vm)由qvm流程实例呈现给guest,guest在VM中运行;VM 托管guest。
文件名称
我们使用以下命名法来命名QNX虚拟化环境中的文件:
Prefixes
前缀标识文件的使用位置:
- hypervisor 该文件包括或用于构建和/或配置管理程序主机域。前缀后面是版本号。
- vdev- 虚拟设备
Suffixes
后缀标识文件的类型:
- .build 该文件是一个构建文件,用于QNX hypervisor 主机域或QNX guest。 对于Linux和其他非QNX客户,请参阅这些类型的操作系统的文档。
- .img 该文件是 bootable 映像。该映像可能仅包括hypervisor 主机域、仅包括一个guest,或者主机域和一个或多个guest。
- .qvmconf 该文件是虚拟机的配置文件;它由一个qvm流程实例解析以组装vm。
例子
下面说明了我们如何组成文件名:
- Hypervisor build and image files hypervisor host domain 的构建文件和映像文件的名称如下:hypervisorrelease-board.type,其中release是hypervisor release,board是硬件平台,type是文件的类型(build 或img)。 例如:hypervisor2.2-fooboard.build and hypervisor2.2-fooboard.img.
- Guest (QNX) build and image files guest构建文件和映像的名称如下:guestos.type, 其中==guestos==是客户操作系统(例如qnx71、linux44), ==type==是文件的类型(build或img)。 如果您的QNX hypervisor 系统将拥有同一操作系统的多个实例,请为每个实例添加一个字母;比如:qnx71a.build和qnx71b.img。
- VM configuration files qvm进程的配置文件的名称组成如下:guest.qvmconf,其中guest是将在由该文件配置的vm中运行的guest操作系统(例如,qnx71、linux44)。 如果您的QNX hypervisor 系统将拥有同一操作系统的多个实例,请为每个实例添加一个字母;例如:qnx71a.qvmconf和qnx71b.qvmconf。