Memory 虚拟地址与物理地址之间的差异

Memory 虚拟地址与物理地址之间的差异,memory,memory-management,Memory,Memory Management,“计算机系统既支持32位虚拟地址,也支持32位物理地址”这句话的意思是什么。我知道内存管理单元(MMU)可以将虚拟地址转换为物理地址,但我不明白这句话的真正含义是什么? 请帮忙!!! 提前感谢。简而言之,这个短语的意思是:硬件只支持4G的物理RAM,每个进程可以有4G的虚拟内存(所以所有进程的总和>4G)。虚拟内存将由一定数量的物理RAM和一定数量的交换文件组成。如果机器有80 GB的HDD,并且由于虚拟内存驻留在HDD中,所有进程的总和超过了HDD空间,会产生什么类型的错误?这取决于特定的操作

“计算机系统既支持32位虚拟地址,也支持32位物理地址”这句话的意思是什么。我知道内存管理单元(MMU)可以将虚拟地址转换为物理地址,但我不明白这句话的真正含义是什么? 请帮忙!!!
提前感谢。

简而言之,这个短语的意思是:硬件只支持4G的物理RAM,每个进程可以有4G的虚拟内存(所以所有进程的总和>4G)。虚拟内存将由一定数量的物理RAM和一定数量的交换文件组成。

如果机器有80 GB的HDD,并且由于虚拟内存驻留在HDD中,所有进程的总和超过了HDD空间,会产生什么类型的错误?这取决于特定的操作系统,但一般来说,如果某个进程的虚拟空间耗尽(即某个进程分配的空间超过4G),或者RAM和分配给某个进程的页面文件中的所有页面(即没有空闲页面),则会出现某种内存不足错误(例如c++中的std::bad_alloc)大多数情况下,这两种情况下的错误都是相同的。你应该只考虑请求内存。e、 g.如果有两个进程,而计算机只有2G的RAM和2G的分页文件,那么进程在总共需要4G的虚拟内存之前不会看到内存不足错误。因此,第一个进程分配2G虚拟内存,第二个进程分配1.9G—一切正常,但当其中一个进程分配另一个0.1+G时—将抛出内存不足错误。还要注意,这是一个非常简单的解释,为了全面了解现代操作系统的内存管理,我建议您阅读一些关于这方面的好书(例如)