在Linux中,“低内存”是什么意思?

11

嗨,我是韩国人,对于“启动程序首先将自身复制到固定的高内存地址以释放低内存用于操作系统”的说法感到有些困惑。

根据我在谷歌上搜索到的低内存信息,我所知道的是指DOS系统中的前640K内存。这是否意味着整个操作系统(如内核)都放在低内存(640K)中?

谢谢阅读。


2
这可能不适合在 SO 上讨论,但基本上答案是您可以使用更少的字节来访问较低的内存寄存器 - http://unix.stackexchange.com/questions/4929/what-are-high-memory-and-low-memory-on-linux - Dagg Nabbit
起初我以为这只是一个玩笑,就像“在Linux上怎么可能会耗尽内存?” - user541686
1个回答

4
这个链接可能有所帮助:虚拟内存 主要来说,在32位系统中,内存现在被分成“高”和“低”内存。低内存仍然直接映射到内核的地址空间中,因此始终可以通过内核空间指针访问。相反,高内存没有直接的内核映射。当内核需要处理高内存中的页面时,它必须显式地设置一个特殊的页面表将其首先映射到内核的地址空间中。这个操作可能是昂贵的,并且在任何特定时间内可以映射的高内存页面数量是有限制的。
这个unix.stackexchange上的问题更加深入一些:高内存和低内存

这与Windows上的AWE(地址窗口扩展)有关吗? - user541686
是的,它们很相似。AWE基本上允许低内存在比位数表示更大的位置上寻址高内存,但这并不是所有高内存,只有在x32中超过约4 GB后才会出现。第一篇文章简要讨论了这个问题。 - wquist

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接