【发布时间】:2020-02-11 16:15:20
【问题描述】:
什么是虚拟内存,它与物理内存 (RAM) 有何不同?它说物理内存存储在主板上,而虚拟内存存储在磁盘上。
它还说只有在物理内存被填满时才使用虚拟空间,这让我很困惑。
那么,为什么 Windows 使用虚拟内存?是不是因为内存空间小,不是为大存储而设计的,所以使用虚拟存储更多更大的东西?
接下来是关于地址的。由于虚拟在磁盘上,它们不应该共享物理地址。 所以他们有独立的地址。对吗?
还有,
在写另一个进程的内存时,为什么推荐使用 VirtualAlloc 而不是 HeapAlloc?
虚拟内存依赖于进程,物理内存通过进程共享是真的吗?
【问题讨论】:
-
“为其他进程收集内存时”,这是什么意思?
-
另外,那个副本似乎并没有真正回答这个问题的要点......
-
@hyde 抱歉,我的意思是写作。我做了修改。
-
why Windows uses virtual memory?所有现代多任务桌面操作系统都使用虚拟内存。这不是因为 RAM 很小。这只是提供进程之间分离的一种方式 -
我还是不知道“写另一个进程的内存”到底是什么意思。
标签: c windows winapi memory virtual-memory