我想知道是否有人可以告诉我虚拟内存的低端通常用于什么。我一直试图搜索很多,但无法找到答案。我也经历了“计算机系统:程序员的观点”,但未能找到答案。
他们似乎总是忽略了底部。 所以我想知道,这里的任何人都能告诉我虚拟内存空间的那部分用于什么?
修改
我发现了这个: https://gist.github.com/CMCDragonkai/10ab53654b2aa6ce55c11cfc5b2432a4
这也引用了这些SO答案:
http://stackoverflow.com/questions/14314021/why-linux-gnu-linker-chose-address-0x400000
答案 0 :(得分:1)
首先请记住,您发布的图表本质上是教学法,而不是事实图。
所有虚拟内存系统将逻辑地址范围划分为用户空间和系统空间。这是图中完全正确的写照。这些区域内的物品放置可能有很大差异。
你特别询问低端问题。加载器通常设置虚拟地址空间,使得第一页(或前几页)不映射到地址空间。默认情况下,无法访问从零开始的逻辑地址。这样做是为了捕获空点引用。