首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UPL (通用页面列表)在XNU中扮演什么角色?

UPL (通用页面列表)在XNU中扮演什么角色?
EN

Stack Overflow用户
提问于 2018-04-23 11:42:52
回答 1查看 315关注 0票数 0

我只是XNU的初学者,正在学习这个源代码。

当看到VM的时候。我有三个问题。

代码语言:javascript
复制
 • What is role of UPL? Is it the same to anon_vma and PST node in Linux for reverse mapping? 
 • If first answer is True, How XNU can find virtual address using upl structure?
 • If first answer is False, How XNU edit pmap entries for page in/out?

我试图找到苹果的开发文档,但没有找到答案。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-29 08:30:04

我还对探索xnu的VM领域感兴趣,所以我对您的问题做了一些初步的研究。

因此,UPL是任何一组页面的包装器,形成内存范围并共享相同的属性。

UPL结构本身提供了其页面的各种属性的快照,例如页面是映射的、脏的、加密的、繁忙的(访问阻塞的)还是对应于I/O内存的。

UPL由以下方法组成..。它们不适合您需要的物理到虚拟映射或反之亦然的upl_abort upl_abort_range upl_commit upl_commit_range

然而,我所读到的是,UPL相当于来自IOKit框架的BSD。这个IOKit类非常容易使用,并且有很好的文档记录,所以如果您的目标是在内核和用户模式之间共享内存,那么就可以了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49980293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档