linux系统从哪获取tlb信息,linux – TLB中的内核内存(虚拟地址条目)?

现代CPU中进行虚拟到物理地址转换的主要目的是为了更有效地管理内存,包括防止碎片、扩展内存、实现内存保护和应用隔离。通过页表实现这一转换,虽然会带来一定的性能开销,但通过TLB缓存、大页面和全局页面等技术可以显著缓解这个问题。全局页面允许内核页面在应用程序切换时保持有效,减少不必要的TLB失效。
摘要由CSDN通过智能技术生成

我们在现代CPU中进行虚拟到物理地址转换的主要原因是为了使我们能够更高效,更好地控制内存使用:

>分配任何物理内存,RAM(连续或不连续),并使其可在虚拟地址空间中的任何位置(连续或不连续)访问,而不会浪费内存碎片.

>使用磁盘或其他存储器扩展物理内存,RAM.

>使地址空间的某些部分仅可读或不可执行或仅内核等,并保护它们免受未经授权或错误的访问.

>将应用程序的存储器彼此隔离,以进一步提高保护,安全性和可靠性.

>分享记忆.

页表使这一切成为可能.

您确实希望能够在内核的虚拟地址空间中映射和取消映射物理内存,并且通常此转换机制可在整个系统中运行.当然,翻译是有代价的,因为您现在需要查阅和维护页面表,这会导致性能损失.但一切都没有丢失:

> TLB在一定程度上缓解了这个问题.他们缓存翻译.

>更大的页面(例如ARMv7-A的大页面和部分)可以提供更多帮助,因为每个翻译后的内存需要更少的TLB条目.

>还有像全球页面这样的东西.当您在应用程序之间切换并需要刷新当前TLB时,可以通过ASID与应用程序的ASID匹配来执行Invalidate TLB条目,从而避免TLB中的全局页面无效.如果将内核的页面标记为全局,则不会使其翻译无效,并且内核本身不会受到不必要的TLB失效的影响.

例如,有关ARM虚拟内存系统体系结构(VMSA),页表,TLB等的特定详细信息,请参阅“ARM®体系结构参考手册ARM®v7-A和ARM®v7-R版本”.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值