姓名
pager - 用户空间分页机制
摘要
分页器为用户空间进程提供一种机制,以便为 VMO 提供需求分页。
说明
分页器对象允许用户空间分页器服务(通常是文件系统)创建 VMO,用作外部数据的内存中缓存。对于由分页器对象创建的给定 VMO,内核会将页面请求传送到关联端口。然后,分页器服务负责通过向 VMO 提供适当的页面来执行请求。
内核不会进行预提取;分页器服务负责实现所有适用的预提取。
单个分页器可以同时支持多个 VMO。针对不同 VMO 的请求可以通过创建 VMO 时使用的 key 参数来区分。此外,多个独立的分页器对象也可能同时存在。
创建分页器不是特权操作。不过,如果操作需要将 IPC 阻塞回用户空间进程,则在 VMO 上运行的系统调用的默认行为是失败,因此应用通常需要注意它们何时在分页器拥有的 VMO 上运行。这意味着,如果服务为客户端提供分页器拥有的 VMO,则应在其 API 中明确说明这一点。通过检查 zx_info_vmo_t
中的 zx_object_get_info()
返回的 ZX_INFO_VMO_PAGER_BACKED 标志,即可确定访问 VMO 是否可能会导致分页器请求。
TODO(stevensd):回写当前未实现。更新文档。
另请参阅
- vm_object - 虚拟内存对象
系统调用
- pager_create - 创建新的分页器对象
- pager_create_vmo - 创建归寻呼机拥有的视频机
- pager_Uninstall_vmo - 将寻呼机与视频机分离
- pager_supply_pages - 将网页提供给寻呼机拥有的视频 MO
- pager_op_range - 对指定范围执行分页器操作