首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >虚拟内存管理案例研究

虚拟内存管理案例研究
EN

Unix & Linux用户
提问于 2015-06-16 06:41:49
回答 1查看 509关注 0票数 2

需要了解虚拟内存的概念。

当一个进程请求2GB映射到4GB的Linux环境中的virutal内存( 1GB内核: 3GB Userspace)时,当另一个进程已经保存了2GB的映射时。

如何实现堆栈、堆、数据段的映射?我找不到任何例子来说明我的理解。教科书只针对每一种映射单独提及,而不是一种实际的方法。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2015-06-16 08:44:50

假设有3 GiB的虚拟地址空间可用,进程的文本、堆栈、堆和先前的内存映射一起只占用少量的地址空间(远小于1 GiB)。然后,如果这个过程请求2GB大小的映射,那么就没有问题,就有足够的空间来容纳该映射。

(实际上,有一个小情况是不正确的:如果进程的现有映射是分散在地址空间中的,并且没有连续的2GB地址范围可用的话)。但这不太可能)。

在不同进程的地址空间中存在或不存在什么映射与其无关。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/209928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档