文をどう理解するか
一般化して、各データオブジェクトが複数の独立したアドレスを持つことができ、それぞれが異なるアドレス空間から選択されます。これが仮想記憶の基本的な考え方です(《CSAPP》)
データオブジェクトに一意のアドレスがないのはなぜですか?
文をどう理解するか
一般化して、各データオブジェクトが複数の独立したアドレスを持つことができ、それぞれが異なるアドレス空間から選択されます。これが仮想記憶の基本的な考え方です(《CSAPP》)
データオブジェクトに一意のアドレスがないのはなぜですか?
仮想メモリは通常、複数のプログラムが実行されているコンピューターでのプログラミングを簡素化するために使用されます。
コンピューターで複数のプログラムを実行している場合、それぞれのプログラムは、ニーズに合ったメモリの仮想アドレス空間を認識します。そのプログラムに関する限り、人生はシンプルです。任意の特定のアドレスで必要なメモリを使用でき、他のプログラムが使用するメモリを回避するための努力をする必要はありません。
さらに、セキュリティのために、他のプログラムが使用しているメモリは、見たくても見ることができません。彼らのメモリアドレス空間は完全に自分のものであり、好きなように遊ぶことができます。
したがって、各データ オブジェクトが正確に 1 つのプログラムに属している単純なケースでは、各データ オブジェクトは正確に 1 つのアドレスを持ちます。
ただし、プログラムは共通リソースを参照する場合があります。たとえば、2 つのスペルチェッカーが、ディスク上のスペルでいっぱいの大きなファイルを使用する必要がある場合があります。オペレーティング システムは通常、それをメモリに 2 回ロードするのではなく、1 回ロードしますが、それを使用する 2 つのプログラムによって異なる仮想アドレスに表示される場合があります。したがって、この場合、1 つのデータ オブジェクトが複数の仮想アドレスを持っている可能性があります。