当前位置:网站首页>[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中的一个应用程序想要
边栏推荐
- FPGA timing constraint sharing 01_ Brief description of the four steps
- 1003 emergency (25 points) (PAT class a)
- HDU 1372 & POJ 2243 Knight moves (breadth first search)
- Niuke Xiaobai monthly race 7 I new Microsoft Office Word document
- BCG 使用之CBCGPTabWnd控件(相当于MFC TabControl)
- 求2的n次方
- Crawler (6) - Web page data parsing (2) | the use of beautifulsoup4 in Crawlers
- LM10丨余弦波动顺势网格策略
- 1002. A+B for Polynomials (25)(PAT甲级)
- Matrix flip (array simulation)
猜你喜欢

HMM隐马尔可夫模型最详细讲解与代码实现

Upgrade the smart switch, how much is the difference between the "zero fire version" and "single fire" wiring methods?

TCP两次挥手,你见过吗?那四次握手呢?

FPGA timing constraint sharing 01_ Brief description of the four steps

Online text line fixed length fill tool

Oracle with as ORA-00903: invalid table name 多表报错

English grammar_ Noun - use

FPGA时序约束分享01_四大步骤简述

English语法_名词 - 使用

"Only one trip", active recommendation and exploration of community installation and maintenance tasks
随机推荐
Oracle with as ORA-00903: invalid table name 多表报错
Shell programming core technology "three"
爬虫(6) - 网页数据解析(2) | BeautifulSoup4在爬虫中的使用
Pythagorean number law (any three numbers can meet the conditions of Pythagorean theorem)
Shell 編程核心技術《四》
Shell programming core technology "four"
Leetcode fizzbuzz C # answer
线上数据库迁移的几种方法
There are multiple divs in the large div, which are displayed on the same line. After overflow, scroll bars are generated without line breaks
升级智能开关,“零火版”、“单火”接线方式差异有多大?
Cbcgpprogressdlgctrl progress bar used by BCG
How to use async Awati asynchronous task processing instead of backgroundworker?
Stream stream
In flinksql, in addition to data statistics, is the saved data itself a state
26. Delete the duplicate item C solution in the ordered array
1003 Emergency(25 分)(PAT甲级)
与二值化阈值处理相关的OpenCV函数、方法汇总,便于对比和拿来使用
Pytorch学习(四)
Educational Codeforces Round 22 E. Army Creation
The difference and usage between substr (), slice (), and substring () in the string interception methods of "understand series after reading"