高端内存与低端内存

转载 2011年01月25日 11:21:00

    高端内存是Linux中一个重要的概念,初涉Linux时曾经对这个概念非常迷惑。实际上这个概念比较简单,理解这个概念,需要追溯一下Linux的内存管理。

       从前,CPU的地址总线只有32位,再早的就不再追溯了。32的地址总线无论是从逻辑上还是从物理上都只能描述4G的地址空间,在物理上理论上最多拥有4G内存(除了IO地址空间,实际内存容量小于4G),逻辑空间也只能描述4G的线性地址空间。为了合理的利用4G空间,Linux采用了31的策略,即内核占用1G的线性地址空间,用户占用3G的线性地址空间。所以用户进程的地址范围从0~3G,内核地址范围从3G~4G,也就是说,内核空间只能管理1G的内存。

对于如此紧张的线性地址资源,内核空间与用户空间的肆意瓜分,导致了内存管理上的问题:当物理内存大于1G时,内核线性地址空间小于实际的物理内存容量,内核如何实现对大于1G内存的管理呢?说到这里,需要提一下内核空间对内存的管理方法。一方面为了提高内核空间对内存的管理效率;另一方面,为了简化内核空间对内存的管理方法,内核采用线性映射的方法实现对内存的管理,从Linux实现的方法来看,物理地址与内核的虚拟地址只差一个偏移量。所以,当物理内存大于1G时,物理内存无法全部映射到内核线性地址空间,这就产生了上述问题。

从上述描述可以看出,地址空间大于1G的内存区域称之为高端内存,同理,小于1G的内存区域称之为低端内存。高端内存的管理需要进行非线性映射,为此,在内核线性地址空间预留了128M的空间,位于线性地址空间的高端。如今,CPU的地址总线都扩大到64位了,线性地址资源非常丰富,所以,可以给内核空间预留足够的线性地址资源,在最近一段时间内,内核线性地址资源与物理内存容量之间的矛盾将不再突出,高端内存的概念也就在64CPU上消失了。

详谈高端内存和低端内存

一、高端内存和低端内存的划分      Linux物理内存空间分为DMA内存区(DMA Zone)、低端内存区(Normal Zone)与高端内存区(Highmem Zone)三部分。DMA Zon...
  • guan506713512
  • guan506713512
  • 2015年03月10日 14:47
  • 1123

谈高端内存和低端内存

我是看ldd3种第十五章() 一、高端内存和低端内存的划分      Linux物理内存空间分为DMA内存区(DMA Zone)、低端内存区(Normal Zone)与高端内存区(Highm...
  • YuZhiHui_No1
  • YuZhiHui_No1
  • 2015年07月01日 16:19
  • 868

linux的highmem高端内存是如何被使用的

0-3G为用户地址空间 3G-4G为内核逻辑地址空间 其中3G-3G+896M为内核空间的低端地址空间,超过896M的内存归属为高端地址空间, 而高端内存有两种使用方式,一种是给内核使用 的,...
  • lcw_202
  • lcw_202
  • 2010年11月07日 21:22
  • 893

linux高端内存和低端内存

首先给出它们的定义: 低端内存:存在逻辑地址的内存。 高端内存:是指那些不存在逻辑地址的内存。        在装有大量内存的32位系统中,内核逻辑地址和内核虚拟地址的不同将非常突出。由于使用3...
  • liuqiang_mail
  • liuqiang_mail
  • 2012年08月21日 13:58
  • 374

关于高端内存的一些笔记

来源:http://linux.chinaunix.net/bbs/viewthread.php?tid=1156030作者:fido_zy闲着无聊,把一些东西写下来给大家分享下吧,有什么不对的,欢迎...
  • cstk502
  • cstk502
  • 2011年07月09日 12:38
  • 892

linux的高端内存分析

linux系统把896M以上的内存定义为高端内存。为什么这么做呢?         这是 因为linux系统的虚拟地址管理能力为4G,通常用户空间虚拟地址为0~3G的空间,而内核空间虚拟地址为3...
  • Q45012079
  • Q45012079
  • 2011年09月23日 12:20
  • 350

高端内存和低端内存

高端内存是Linux中一个重要的概念,初涉Linux时曾经对这个概念非常迷惑。实际上这个概念比较简单,理解这个概念,需要追溯一下Linux的内存管理。            从前,CPU的地址总线...
  • yuesichiu
  • yuesichiu
  • 2013年10月14日 16:21
  • 779

高端内存和低端内存

高端内存和低端内存 2012-05-09 08:56:37 分类: 原文地址:高端内存和低端内存 作者:怪怪虎 高端内存是Linux中一个重要的概念,初涉Linux时曾经对...
  • world_hello_100
  • world_hello_100
  • 2013年02月19日 14:26
  • 141

进程的页表和页目录存储在内核空间还是用户空间?低端内存还是高端内存

原帖:http://bbs.csdn.net/topics/390956135?page=1#post-398690481 进程的页表和页目录存储在内核空间还是用户空间? A. 如果页表、页目...
  • NewThinker_wei
  • NewThinker_wei
  • 2014年12月22日 23:18
  • 2293

高端内存的理解

内核地址空中highmem映射
  • chobit_s
  • chobit_s
  • 2010年11月23日 13:33
  • 6052
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:高端内存与低端内存
举报原因:
原因补充:

(最多只允许输入30个字)