多くの本や投稿を読んだとしても、「同じ物理アドレスを指す複数の独立した仮想アドレス」の利点をよく理解していません。
たとえば、同様の質問で、物理アドレス指定と仮想アドレス指定の概念の違い、
投稿は、プログラムが互いにクラッシュしないと主張しています、そして
「一般的に、特定の物理ページは1つのアプリケーションの仮想空間にのみマップされます」
さて、http://tldp.org/LDP/tlk/mm/memory.htmlの「共有仮想メモリ」のセクションには、次のように書かれています。
「たとえば、bashコマンドシェルを実行しているシステムに複数のプロセスが存在する可能性があります。各プロセスの仮想アドレス空間に1つずつ、bashのコピーを複数持つのではなく、物理メモリに1つのコピーだけを置き、すべてのプロセスを実行することをお勧めします。 bashで共有してください。」
1つの物理アドレス(シェルプログラムなど)が2つの独立した仮想アドレスにマップされている場合、これがクラッシュしないようにするにはどうすればよいですか?物理アドレスを使用するのと同じではないでしょうか。
仮想アドレス指定は何を提供しますか?これは物理アドレス指定では不可能または便利ではありませんか?仮想メモリが存在しない場合、つまり2つが同じ物理メモリを直接指している場合はどうでしょうか。調整メカニズムを使用することで、それでも機能すると思います。では、なぜこれらのものを「仮想アドレス指定、MMU、仮想メモリ」に煩わせるのでしょうか。