日期:2014-05-16  浏览次数:20537 次

有关高端内存的问题
为什么高端内存中的页不能永久的映射到内核地址空间上呢?有哪位高手解释下。

------解决方案--------------------
因为内核线性地址空间是从第3个G开始的。
如果未开启拓展分页,那么内核线性地址空间大小才1G。
如果高端内存中的页也永久的映射到内核地址空间上,则1G的范围是不够容纳所有的物理内存范围。

关于这方面的细节问题可以去看看Linux内核方面的书。
看Linux内核详解就可以了。记得好像第二章有关于高端内存的描述。
看不懂多看几遍就会明白。我也是看了好几遍才懂的。
------解决方案--------------------
http://www.linuxidc.com/Linux/2011-05/35645.htm
楼主可以看看这个资料。
果然还是因为1G不够容纳的问题。
------解决方案--------------------
32位下的 高端内存只有128M 
如果物理内存大于1G的话 就不够用了 
所以只能临时映射了