我不太明白“多个独立的虚拟地址,指向同一个物理地址”的好处,尽管我读了很多书和帖子,
例如,在类似的问题中物理寻址和虚拟寻址概念之间的区别,
该帖子声称该程序不会相互崩溃,并且
“一般来说,一个特定的物理页面只映射到一个应用程序的虚拟空间”
好吧,在http://tldp.org/LDP/tlk/mm/memory.html的“共享虚拟内存”部分,它说
“例如,系统中可能有多个进程运行 bash 命令 shell。与其拥有多个 bash 副本,每个进程在虚拟地址空间中都有一个,不如在物理内存中只有一个副本并且所有进程都在运行bash 分享它。”
如果一个物理地址(例如,shell 程序)映射到两个独立的虚拟地址,这怎么能不崩溃呢?与使用物理寻址不一样吗?
虚拟寻址提供什么,物理寻址不可能或不方便?如果不存在虚拟内存,即两个直接指向同一个物理内存?我认为,通过使用一些协调机制,它仍然可以工作。那么为什么要打扰“虚拟寻址、MMU、虚拟内存”这些东西呢?