虚拟地址空间和虚拟内存之间有什么区别吗?
如果是这样的话,32位操作系统将没有超过4GB的vaddr空间和虚拟内存。

提前致谢


虚拟内存可以存在于本地或远程的任何地方。
虚拟地址空间是用于寻址内存的每个进程的指针。
这意味着我的最大虚拟内存功能受我的地址空间限制的限制。
如果有错,请纠正我。

最佳答案

是。

虚拟内存的概念是可以以不同的方式支持内存。一个进程的某些内存可以在磁盘上,某些可以在主内存中,有些甚至可以在远程网络上。这由操作系统管理,对正在运行的用户进程透明。对用户而言,这只是内存。

虚拟地址空间意味着映射到用户进程的内存地址。两个不同的用户进程访问(访问它们)内存中的相同地址,但是它们将包含完全不同的数据。如果用户地址空间较小(例如32位),则这一点尤其重要。这意味着无论进程如何存在,每个进程都可以访问地址空间允许的最大内存。

在操作系统中,每一个都可以不存在。但是结合起来,它们是最有用的,因此通常由OS以紧密耦合的方式实现。

关于linux - 虚拟地址空间与虚拟内存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17377887/

10-16 20:26