当前位置:网站首页>[QNX Hypervisor 2.2用户手册]6.3.1 工厂页和控制页
[QNX Hypervisor 2.2用户手册]6.3.1 工厂页和控制页
2022-07-04 18:32:00 【高桐@BILL】
QNX Hypervisor的共享内存通过使用工厂页和控制页(Factory pages and Control Pages)实现。
工厂和控制页保存着shmem虚拟设备的虚拟机寄存器(参考“Virtual registers (guest_shm.h)”)。Guest中的驱动可以访问guest-physical内存中的这些寄存器,并与之交互,就像是在和物理寄存器交互一样,以指定的偏移量进行读写。
工厂和控制页的页大小与QNX Hypervisor 内核页相同(4KB)。
一、工厂页
因为qvm进程会为vm创建一个工厂页,则需要在托管Guest的VM的qvm配置中包含shmem虚拟设备。典型地,每个qvm配置文件中仅包含一个shmem虚拟设备,因此每个VM只有一个工厂页。
一个工厂页包含共享内存的信息,其中包括一个存有每个共享内存区域的控制页guest-physical地址的区域。且该区域的值会在Guest创建或附加(attach)不同的共享内存区域的时候发生改变。
一个工厂页可能位于Guest可访问的未分配内存的任何位置。例如,假设还未分配其他内存,如果我们分配192MB的内存(在qvm配置中设置了ram 192M),我们可以将工厂页放在此分配之外位于at 0x10000000 (256 MB)。这个地址时guest-physical地址,并不是硬件中的实际物理地址。shmem 虚拟设备会为VM虚拟化工厂页。且不会有其他设备会使用这个位置。
当Guest中的一个应用程序想要
边栏推荐
- BCG 使用之CBCGPProgressDlgCtrl進度條使用
- 联想首次详解绿色智城数字孪生平台 破解城市双碳升级难点
- 黑马程序员-软件测试--08阶段2-linux和数据库-23-30-进程端口相关,修改文件权限,端口号信息的获取,程序和进程相关操作,linux命令案例
- Hough Transform 霍夫变换原理
- Stream流
- Reflection (I)
- Comment utiliser async awati asynchrone Task Handling au lieu de backgroundworker?
- Educational Codeforces Round 22 E. Army Creation
- Educational codeforces round 22 E. Army Creation
- 1005 Spell It Right(20 分)(PAT甲级)
猜你喜欢
随机推荐
prometheus安装
牛客小白月赛7 I 新建 Microsoft Office Word 文档
Double colon function operator and namespace explanation
Reflection (I)
Comment utiliser async awati asynchrone Task Handling au lieu de backgroundworker?
矩阵翻转(数组模拟)
BCG 使用之CBCGPProgressDlg进度条使用
Stream流
@transactional滥用导致数据源连接池耗尽问题
Add namespace declaration
如何使用Async-Awati异步任务处理代替BackgroundWorker?
牛客小白月赛7 谁是神箭手
node_exporter部署
安徽 中安在线文旅频道推出“跟着小编游安徽”系列融媒体产品
Oracle with as ORA-00903: invalid table name 多表报错
How test engineers "attack the city" (Part I)
爬虫(6) - 网页数据解析(2) | BeautifulSoup4在爬虫中的使用
Jetpack Compose 教程
TCP两次挥手,你见过吗?那四次握手呢?
The 300th weekly match of leetcode (20220703)