赞
踩
Hypervisor系统中的Guest可以通过共享内存区域来向其他Guset或Hypervisor Host传输数据。
在QNX Hypervisor 系统中,运行在Guest中的客户端程序可以创建和管理共享内存,然后使用共享内存区域来交换数据。需要注意的是,这个共享内存区域并不是由来创建和管理,而是Hypervisor。Host应用程序在权限允许的情况下也可以创建共享内存区域或附加一个由其他创建的共享内存区域。
QNX Hypervisor提供的hypervisor-shmem-examples-*.tgz包含了QNX Guest相关的共享内存的案例程序代码:ghstest.c和Hypervisor Host相关的案例程序代码:hhstest.c。
为了对Hypervisor Host与Guest分享数据的模块执行写操作,你需要使用虚拟化API(libhyp.a)。这部分并没有包含在QNX hypervisor文档,而是在 Virtualization API Reference中有所描述。为了包含这部分额外的文档,并且支持对host模块的写操作,你可以联系QNX接口人(QNX representative)。
一、共享内存工作机制
为了使用共享内存,一个Guest中的客户端程序或Hypervisor Host中的程序需要做一下事情:
Hypervisor提供了shmem虚拟设备,该设备实现了设置共享内存区域的映射和使用共享内存所需的中断。这个虚拟设备提供了使用共享内存
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。