我遇到了以下内容http://tldp.org/LDP/tlk/mm/memory.html
如果出错的虚拟地址无效,则意味着该进程尝试访问它不应该访问的虚拟地址。也许应用程序在某些方面出了问题,例如写入内存中的随机地址。在这种情况下,操作系统将终止它,从而保护系统中的其他进程免受该恶意进程的侵害。
现在,我的疑问与这句话有关
“故障虚拟地址无效”。
这到底是什么意思呢?怎样才能有*虚拟地址无效*?毕竟,任何 32 位值(在 32 位机器上)都对应于虚拟地址空间中的某个“有效”地址。
答案1
任何 32 位值(在 32 位机器上)都对应于虚拟地址空间中的某个“有效”地址
不正确。页条目可以指向不存在或标记为禁区的物理内存,或者它们可以包含无效模式。