three criteria of hypervisor:
Equivalence 假造机(VM)与底层硬件相同
Virtual machines (VMs) running in the hypervisor are essentially the same as the underlying hardware. A guest does not need to be aware that it is running in a VM in order to function properly.
Safety 管理程序始终保持对硬件的控制
With the exception of guest access to pass-through device memory, the hypervisor maintains control of the hardware at all times, regardless of what the guests are doing. It controls guests' abilities to access hardware devices, limits guests' ability to access host-physical memory to their assigned memory regions, has ultimate control over scheduling, manages interrupt routing, and has the ability to terminate a guest, regardless of what the guest may be attempting to do.
除客户访问直通装备内存外,无论客户在做什么,管理程序始终保持对硬件的控制。它控制客户机访问硬件装备的能力,将客户机访问主机物理内存的能力限制在其分配的内存区域内,对调度拥有终极控制权,管理停止路由,并有能力终止客户机,无论客户机试图做什么。
Performance 性能只比在硬件上稍慢一些
Execution of programs running in VMs is only minimally slower than when running directly on the hardware.
Terminology
device 真实存在的硬件装备,和vdev相反
We use device or to mean a hardware device that exists as a physical component on the system. Contrast vdev.
guest 在 qvm 中运行的操作系统或此中的应用程序
⼀个 guest 是⼀个 guest 操作系统以及在此操作系统上运⾏的所有应⽤程序 ; ⼀个 qvm 运⾏⼀个 guest ,
guest 在 qvm 中运⾏。
host
In most cases, the term host refers not to a host computer (the desktop or laptop, which you can connect to your target system to load a new image or debug), but to the hypervisor or something in the hypervisor (e.g., the CPU instructs the guest thread to exit guest mode and continue in host mode).
When the context doesn't make the meaning of host clear, we'll use development host to refer to the laptop or desktop, and host domain or hypervisor host to indicate the hypervisor and all its components.
When discussing privilege or exception levels, we'll use hypervisor host or 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)或管理程序中的某些部分(例如,CPU 指示客户线程退出客户模式并继承在主机模式下运行)。
当上下文无法明白主机的含义时,我们会用开发主机(development host)来指笔记本电脑或台式机,用主机域或管理程序主机(host domain or hypervisor host )来指管理程序及其所有组件。
hypervisor
QNX hypervisor = hypervisor = QHS = QNX Hypervisor.
qvm
A qvm (or qvm process) is a process in the hypervisor that hosts guests.
The hypervisor starts qvm process instances; each qvm process instance presents a virtual machine (VM) in which a guest can run.
qvm (或 qvm 进程)是管理程序中用于托管客户机的进程。
管理程序会启动 qvm 进程实例;每个 qvm 进程实例都会出现一个假造机(VM),客户可在此中运行。
vdev
We use virtual device (or vdev) to mean any device that the hypervisor virtualizes in some way . Examples of vdevs include an interrupt controller (virtualized), or an Ethernet device controller (para-virtualized).
假造装备可以模仿物理装备,或者也可以是半假造装备,⼀个假造装备没有确定的与之相对的物理装备
存在。
VM
A virtual machine or VM is presented by a qvm process instance to a guest, which runs in the VM; the VM hosts the guest.
device
表⽰作为系统上的物理组件存在的硬件装备
(物理装备包罗 pass-through 装备和shared装备,假造装备vdev)
Pid
假造机的进程标识符(Process ID)通过进程标识符,可以在操作系统级别对假造机进行管理和监控。
What is a process?
– a program loaded into memory
– identified by a process id, commonly
abbreviated as pid
bootimage
"bootimage"通常是一个假造硬盘映像文件(VHD或VHDX),此中包含了操作系统的安装文件和引导程序。假造机就从bootimage中引导操作系统并开始运行。
Hypervisor host domain
运行假造机管理器(VMM)的物理主机或服务器
pass-through
- pass-through方式下,pass-through device可以直接独占访问,比访问Vdev或者share访问更快。使用pass-through的时间,guest os需要有相应的driver for the physical device,此时所有的交互都在guest 和physical device之间直接进行,hypervisor只需要辨认和允许来自guest的信号和device的停止
- pass-through 装备被配置在 VM 的 *.qvmconfig ⽂件中
- 不要为⼀个以上的 guest 配置多个相同的 pass-through 装备
Emulation vdevs和Para-virtualized devices
emulation vdevs:为了使⽤ udev , guest 不需要去知道它⾃⼰正运⾏在假造环境中。它与这些装备的交互⽅式与物理装备完全相同,并且没有迹象表明它正在与假造装备⼀起⼯作,或者没有硬件装备参与此中。
vdev 模仿现实的物理装备(例如 x86 PC 键盘)。究竟上,⼀些 vdev (如 pckeyboard )的存在仅仅
是因为运⾏在 x86 平台上的客⼾机希望它存在。
模仿的物理装备大概在系统上存在,大概不存在在系统上。
Para-virtualized devices是⼀种假造装备。它们是在 hypervisor 层中运⾏的软件代码,但是此代码不会模仿任何特定的装备。要使⽤ para—virtualized 装备, guest 必须知道它正在假造环境中运⾏。guest 必须有适当的驱动和接⼝才能和 para-virtualized 装备⼀起⼯作。
总的来说,Emulation vdevs是通过软件模仿实现的假造装备,而Para-virtualized devices是通过修改客户操作系统来实现的直接通信的假造装备。
文件命名
前缀
hypervisor
该⽂件包罗或⽤于构建和 / 或配置 Hypervisor host domain 。前缀后跟发⾏号。
例:hypervisor2.0-broadwell.build 和 hypervisor2.0-broadwell.img.
vdev-
该⽂件是假造装备。
后缀
.build
该⽂件是 QNX Hypervisor host domian 或 QNX guest 的构建⽂件。
.img
该⽂件是⼀个 bootable image 。这个 image 可以仅仅包罗 hypervisor host domain ,仅仅⼀个 guest ,或者
⼀个 host domian 和⼀个或多个 guest 。
.qvmconf
该⽂件是 VM ( qvm 进程)的配置⽂件。
轻易搞混的:
"process" 和 "guest"
"rocess"(进程)是操作系统中的一个实行实体,它代表了一个正在运行的程序。每个进程都有自己的内存空间、寄存器状态和实行上下文。在假造机中,每个假造机实例通常运行在一个独立的进程中。
"Guest"(客户机)是指在假造化环境中运行的操作系统实例。假造机可以托管多个不同的客户机操作系统,每个客户机操作系统都运行在自己的假造机实例中。每个客户机操作系统都有自己的进程管理和资源分配机制。
可以明白为在一个 guest 操作系统上会有多个并发运行的进程
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |