[QNX Hypervisor 2.2用户手册]6.3 内存共享
Posted 高桐@BILL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[QNX Hypervisor 2.2用户手册]6.3 内存共享相关的知识,希望对你有一定的参考价值。
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虚拟设备,该设备实现了设置共享内存区域的映射和使用共享内存所需的中断。这个虚拟设备提供了使用共享内存的额外的功能,包括
以上是关于[QNX Hypervisor 2.2用户手册]6.3 内存共享的主要内容,如果未能解决你的问题,请参考以下文章
[QNX Hypervisor 2.2用户手册]6.2.1 Guest之间通信
[QNX Hypervisor 2.2用户手册]6.2 网络
[QNX Hypervisor 2.2用户手册]6.3.2 配置VM
[QNX Hypervisor 2.2用户手册]4.6.1 配置HHBSP框架的构建