2

虚拟地址空间和虚拟内存有什么区别吗?如果是这种情况,32 位操作系统将不会有超过 4GB 的 vaddr 空间和虚拟内存。

提前致谢

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

4

2 回答 2

2

是的。

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

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

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

于 2013-06-29T08:55:59.053 回答
1

来自维基百科关于虚拟内存虚拟地址空间的文章:

虚拟内存是为多任务内核开发的内存管理技术。

虚拟地址空间是现代操作系统中可用的一种内存映射机制。

所以答案是:是的,这些是完全不同的术语。虽然它们是相关的。

于 2013-06-29T07:50:05.663 回答