姓名
vm_object - 虚拟内存容器
摘要
虚拟内存对象 (VMO) 表示可以映射到多个地址空间的虚拟内存的连续区域。
说明
VMO 在内核和用户空间中用于表示分页内存和物理内存。它们是在进程之间以及内核和用户空间之间共享内存的标准方法。
VMO 是使用 zx_vmo_create()
创建的,您可以使用 zx_vmo_read()
和 zx_vmo_write()
对它们执行基本的 I/O。可以使用 zx_vmo_set_size()
设置 VMO 的大小。相反,zx_vmo_get_size()
会检索 VMO 的当前大小。
VMO 的大小将向上舍入为内核的下一个页面大小边界。
系统会通过 zx_vmo_read()
、zx_vmo_write()
或者写入到使用 zx_vmar_map()
创建的 VMO 的映射,按需为 VMO 提交(分配)页面。您可以通过使用 ZX_VMO_OP_COMMIT 和 ZX_VMO_OP_DECOMMIT 操作调用 zx_vmo_op_range()
来手动提交和从 VMO 提交页面,但此操作应被视为低级别操作。zx_vmo_op_range()
还可用于对 VMO 所保全的页面执行缓存和锁定操作。
如果进程具有涉及缓存政策的特殊用例,可以使用 zx_vmo_set_cache_policy()
更改给定 VMO 的政策。此用例通常适用于设备驱动程序。
系统调用
zx_vmo_create()
- 创建新的视频机zx_vmo_create_child()
- 创建新的儿童视频 MOzx_vmo_create_physical()
- 创建新的实体视频机zx_vmo_get_size()
- 获取视频录像机的大小zx_vmo_op_range()
- 对一系列视频广告资源执行操作zx_vmo_read()
- 通过视频点播阅读zx_vmo_replace_as_executable()
- 制作 vmo 的可执行版本zx_vmo_set_cache_policy()
- 为 VMO 保留的网页设置缓存政策zx_vmo_set_size()
- 调整视频画面的大小zx_vmo_write()
- 写入视频机 (vmo)
zx_vmar_map()
- 将 VMO 映射到进程zx_vmar_unmap()
- 从进程中取消映射内存