我想知道是否有人能告诉我虚拟内存的低端通常用于什么。我一直在四处寻找,但却找不到答案。我还读过“计算机系统:程序员的观点”,但没有找到答案。
在线模型通常如下所示:

他们似乎总是忽略了最底层的部分。所以我想知道,这里有人能告诉我虚拟内存空间的那一部分是用来做什么的吗?
编辑:
我发现了这个:https://gist.github.com/CMCDragonkai/10ab53654b2aa6ce55c11cfc5b2432a4
其中也提到了这些答案:
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
发布于 2018-06-03 04:08:10
首先,请记住,你张贴的图表是教学性质的,而不是事实。
所有虚拟内存系统都将逻辑地址范围划分为用户空间和系统空间。这是图表中完全正确的写法。在这些区域内的东西的放置可能有很大的不同。
你专门问的是低端的问题。加载器通常设置虚拟地址空间,这样就不会将第一页(或前几页)映射到地址空间。从零开始的逻辑地址在默认情况下是不可访问的。这样做是为了捕获空点引用。
https://stackoverflow.com/questions/50655241
复制相似问题