您现在的位置是:亿华云 > 数据库
鸿蒙轻内核A核源码分析系列之虚实映射(4)虚实映射查询
亿华云2025-10-08 23:28:39【数据库】4人已围观
简介想了解更多内容,请访问:和华为官方合作共建的鸿蒙技术社区https://harmonyos.51cto.com4、虚实映射查询函数LOS_ArchMmuQuery给定一个虚拟内存地址,可以查询其映射到
想了解更多内容,鸿蒙核A核源请访问:
和华为官方合作共建的轻内鸿蒙技术社区
https://harmonyos.51cto.com
4、虚实映射查询函数LOS_ArchMmuQuery
给定一个虚拟内存地址,码分可以查询其映射到的析系虚实虚实物理内存地址,还可以查询映射标签属性信息,映射映射函数LOS_ArchMmuQuery负责完成这些信息的查询查询。
4.1 函数LOS_ArchMmuQuery
函数LOS_ArchMmuQuery用于获取进程空间虚拟地址对应的鸿蒙核A核源物理地址以及映射标签属性,其中输入参数为虚拟内存地址vaddr,轻内输出参数为物理内存地址*paddr和标签属性*flags。码分⑴处获取虚拟地址对应的析系虚实虚实页表项。⑵处如果虚拟地址对应的映射映射页表项描述符类型无效,返回错误码。查询⑶处如果页表项描述符类型为L1页表Section类型映射,鸿蒙核A核源则执行⑷获取映射的轻内物理地址,其中MMU_DESCRIPTOR_L1_SECTION_ADDR(l1Entry)为L1页表项的服务器托管码分高12位,(vaddr & (MMU_DESCRIPTOR_L1_SMALL_SIZE - 1))为虚拟地址的低20位,即页内偏移值。可以和上文了解到的知识相对应,物理内存地址的计算方式为页表项的高12位加上虚拟内存地址的低20位,如下图所示。⑸处获取映射的标签属性,把MMU标签转换为内存区域标签。

如果虚拟地址对应的页表项描述符类型为页表Page Table,则执行⑹调用内联函数OsGetPte2BasePtr()计算L2页表项基地址,计算方法为:取L1页表项的高22位,低10位置0,得到L2页表项物理内存基地址,高防服务器然后转化为L2页表项虚拟内存基地址。⑺处计算虚拟地址对应的L2页表项数值,从上文可知,L2页表项的指针地址在页表项基地址加上虚拟内存地址的高20位,取该地址的数据即为L2页表项数据。如果L2页表项描述符类型为小页,则执行⑻计算物理内存地址,其中MMU_DESCRIPTOR_L2_SMALL_PAGE_ADDR(l2Entry)为L2页表项的高20位;vaddr & (MMU_DESCRIPTOR_L2_SMALL_SIZE - 1)为虚拟地址的低12位,如下图所示。然后计算相应的标签值。⑼处表示当前轻内核还不支持大页类型。

想了解更多内容,请访问:
和华为官方合作共建的鸿蒙技术社区
https://harmonyos.51cto.com
很赞哦!(578)
相关文章
- 在此期间,他们每天仍在这里卖大米,在理财方面个人感情有待提高。因为现在是收米的最佳时机。
- 下一代数据库的三重功能:云计算、平台即服务和开源
- 这是一篇超全的前端监控体系搭建
- 如何设计一个易扩展、易运维的内容下发服务架构?
- 为了避免将来给我们的个人站长带来的麻烦,在选择域名后缀时,我们的站长最好省略不稳定的后缀域名,比如n,因为我们不知道策略什么时候会改变,更不用说我们将来是否还能控制这个域名了。因此,如果站长不是企业,或者有选择的话,如果不能选择域名的cn类,最好不要选择它。
- Vue2剥丝抽茧-响应式系统
- 使用C/C++实现服务器并发
- 数据库的七种武器,快来看看!
- 4、企业无形资产:通用网站已成为企业网络知识产权的重要组成部分,属于企业的无形资产,也有助于提升企业的品牌形象和技术领先形象。它是企业品牌资产不可或缺的一部分。
- 用Python连接MySQL的几种姿势
热门文章
站长推荐
顶级域名可以增加企业品牌的价值。随着经济的快速发展,域名已不再是企业在网络中的独立地位。顶级域名的服务范围、企业产品、综合形象体现等,对于企业单位来说,顶级域名的重要性不言而喻。
如何利用MongoDB实现高性能,高可用的双活应用架构?
程序员做项目必用五大工具
Oracle在云市场虚张声势,掩饰其在数据库领域的绝望?
当投资者经过第二阶段的认真学习之后又充满了信心,认为自己可以在市场上叱咤风云地大干一场了。但没想到“看花容易绣花难”,由于对理论知识不会灵活运用.从而失去灵活应变的本能,就经常会出现小赢大亏的局面,结果往往仍以失败告终。这使投资者很是困惑和痛苦,不知该如何办,甚至开始怀疑这个市场是不是不适合自己。在这种情况下,有的人选择了放弃,但有的意志坚定者则决定做最后的尝试。
提升网站访问速度的SQL查询优化技巧
MySQL枚举类型的“八宗罪”
图说MySQL的几种join连接