QNX Hypervisor 2.2 用户手册1.3 QNX hypervisor架构
Posted 高桐@BILL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QNX Hypervisor 2.2 用户手册1.3 QNX hypervisor架构相关的知识,希望对你有一定的参考价值。
一个QNX hypervisor由hypervisor微内核、虚拟化扩展和一个或多个QVM进程实例组成。
一、QNX hypervisor系统的两种形式
下面两个图表示了一个高层级的QNX hypervisor架构和其他一些用于访问虚拟、物理设备的可用配置项。不是所有的可用guest-device(访客设备)配置都展示出来了。下图只列出来了一部分:
从上图中我们可以看到一个静态的分层的hypervisor系统。不够很不幸的是,它可能会产生一些误导。比如,你会误以为官方建议访客运行在VMs或主机系统上。更糟糕的是,我们每次描述hypervisor时我们的上下文都是在说访客运行在VM虚拟机上。
实际上,一个访客并不是真正运行在VM上。Hypervisor也不是一个为CPU翻译访客指令的中间人。VM定义了虚拟硬件然后展示给访客。访客不需要知道它正在“在”VM 中运行,而不是在由硬件直接定义的环境中运行。
为什么这么说呢?
因为当一个gues在运行时,它的指令执行在物理CPU上,就好像hypervisor并不存在,guest直接在物理硬件上运行一样。只有当guest尝试执行一个它没有权限执行的指令时,hypervisor会监视虚拟化硬件捕捉当前访问的企图,然后强制guest退出。如guest想要访问内存。
当硬件通知hypervisor后,hypervisor保存当前退出guest的上下文然后完成guest前面开始的任务(guest自身无法完成的任务)。当hypervisor完成任务后,hypervisor会恢复guest的上下文并将执行权归还给guest。
下面的Lahav线展示了一个hypervisor和其中一个guest交互的动态视图。简单来说,假设它执行在一个单核CPU上。
以上是关于QNX Hypervisor 2.2 用户手册1.3 QNX hypervisor架构的主要内容,如果未能解决你的问题,请参考以下文章
QNX Hypervisor 2.2 用户手册1.3 QNX hypervisor架构