虚拟内存使用情况

时间:2018-06-02 09:04:38

标签: virtual-memory

我想知道是否有人可以告诉我虚拟内存的低端通常用于什么。我一直试图搜索很多,但无法找到答案。我也经历了“计算机系统:程序员的观点”,但未能找到答案。

在线模型通常如下所示:enter image description here

他们似乎总是忽略了底部。 所以我想知道,这里的任何人都能告诉我虚拟内存空间的那部分用于什么?

修改

我发现了这个: https://gist.github.com/CMCDragonkai/10ab53654b2aa6ce55c11cfc5b2432a4

这也引用了这些SO答案:

http://stackoverflow.com/questions/7187981/whats-the-memory-before-0x08048000-used-for-in-32-bit-machine

http://stackoverflow.com/questions/12488010/why-the-entry-point-address-in-my-executable-is-0x8048330-0x330-being-offset-of

http://stackoverflow.com/questions/14314021/why-linux-gnu-linker-chose-address-0x400000

1 个答案:

答案 0 :(得分:1)

首先请记住,您发布的图表本质上是教学法,而不是事实图。

所有虚拟内存系统将逻辑地址范围划分为用户空间和系统空间。这是图中完全正确的写照。这些区域内的物品放置可能有很大差异。

你特别询问低端问题。加载器通常设置虚拟地址空间,使得第一页(或前几页)不映射到地址空间。默认情况下,无法访问从零开始的逻辑地址。这样做是为了捕获空点引用。