内存管理:错误的虚拟地址

内存管理:错误的虚拟地址

我遇到了以下内容http://tldp.org/LDP/tlk/mm/memory.html

如果出错的虚拟地址无效,则意味着该进程尝试访问它不应该访问的虚拟地址。也许应用程序在某些方面出了问题,例如写入内存中的随机地址。在这种情况下,操作系统将终止它,从而保护系统中的其他进程免受该恶意进程的侵害。

现在,我的疑问与这句话有关

“故障虚拟地址无效”。

这到底是什么意思呢?怎样才能有*虚拟地址无效*?毕竟,任何 32 位值(在 32 位机器上)都对应于虚拟地址空间中的某个“有效”地址。

答案1

任何 32 位值(在 32 位机器上)都对应于虚拟地址空间中的某个“有效”地址

不正确。页条目可以指向不存在或标记为禁区的物理内存,或者它们可以包含无效模式。

相关内容