当前位置:   article > 正文

内核理论基础 || 内存空间布局_x64架构物理内存布局

x64架构物理内存布局

       先来了解一下系统的内存内核层与应用层的布局。以x86为例,它支持32位寻址,因此支持最大232=4GB的虚拟内存空间(也可以通过PAE技术增加到36位寻址,将寻址空间扩大到64GB)。如图7.3所示,在4GB的虚拟地址空间中,Windows系统的内存空间及非法区域。Windows内存的逻辑地址分为两部分,即段选择符和偏移地址。CPU在进行地址翻译的时候,先通过分段基质计算出一个线性地址,再通过页表机制将线性地址映射到物理地址,从而存取物理内存中的数据和指令。

                                 

  尽管x64(AMD64)的内存布局与x86的内存布局类似,但空间的范围和大小不同。同时,x64下存在一些空洞(hole),如图7.4所示。x64内存理论上支持最大264KB的寻址空间,但实际上这个空间太大了,目前根本用不完,因此x64系统一般只支持到40多位,例如Windows支持44位最大寻址16TB,Linux支持48位最大寻址空间256TB,支持的空间达到了TB级。但是,无论是在内核空间,还是在应用层空间,这些上TB的空间并不都是可用的,而是存在所谓的“空洞”。

                           

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号