この質問は、VASモデルを使用するすべてのOSを対象としていますが、Windows ntを指定します。これは、私が最もよく知っているシステムだからです。
ご存知のとおり、デフォルトでは、32ビットウィンドウのプロセスはそれ自体で2GBのメモリを取得します。このメモリは、システムメモリ、スワップファイル、USBドライブなどに配置できます。
これは、複数のプロセスがアドレス0x12345678にメモリを割り当てることができることを意味しますが、もちろん、これを同じ物理メモリにマップすることはできません。
私の質問は、パフォーマンスを完全に壊すことなく、これをどのように行うのかということです。プロセッサには、メモリアドレスをマップするための何らかのメカニズムがありますか?
メモリにアクセスしないたびにマップルックアップを実行するようにOSに要求するのは、とても遅いようです。