[QNX Hypervisor 2.2用户手册]8.2 Guest退出
Posted 高桐@BILL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[QNX Hypervisor 2.2用户手册]8.2 Guest退出相关的知识,希望对你有一定的参考价值。
Guest退出是Hypervisor系统最重要的开销来源之一。
避免Hypervisor系统所有Guest退出是不可能的。但是,因为Guest退出的代价非常巨大,减少这些退出行为的次数可以提高Guest以及整个系统的性能。
一、为什么Guest退出?
当一个Guest正在运行时,它的指令执行在物理CPU上,就像Guest的运行没有Hypervisor一样。但是,Guest不是可以做任何它在非虚拟化环境上可以做的事情。这也是Hypervisor系统保护自己的一种方法,也是它的Guest相互之间的一种保护措施。
一个Guest退出可能是由于下面的原因引起:
- Guet自己退出。(参考“Guest-triggered exits”)
- 由硬件或Hypervisor Host触发。(参考“Interrupts”)
二、Guest退出需要做的工作
下面是一个关于当Guest尝试执行不被允许的但Hypervisor Host可以管理的指令时会发生什么的概述(假设这个指令不会引起Hypervisor返回错误给到Guest):
1.虚拟化硬件捕捉该尝试,然后强制Guest停止执行(Guest 退出)。
2.捕获后,硬件
以上是关于[QNX Hypervisor 2.2用户手册]8.2 Guest退出的主要内容,如果未能解决你的问题,请参考以下文章
[QNX Hypervisor 2.2用户手册]8.5 vCPU和Hypervisor性能
[QNX Hypervisor 2.2用户手册]8.3 Guest触发的退出
[QNX Hypervisor 2.2用户手册]8.7 虚拟I/O(VIRTIO)
[QNX Hypervisor 2.2用户手册]8.1 虚拟环境下的开销