1

ページが仮想メモリに存在し、メイン メモリに存在しない場合はどうなりますか? それはどのように実行されますか?

プログラムは仮想メモリからメイン メモリにロードされますか? 仮想メモリからメインメモリにロードされる場合、それはディスク上にあるため、IO操作になります。次に、仮想メモリの使用は何ですか、とにかくそれを実行するためにIO操作を行う必要がある場合。

そして、使用プログラムが論理アドレスを生成し、MMUがそれを物理アドレスにマップし、そのアドレスがメインメモリに存在しない場合、OSは仮想メモリをチェックインしますか??

前もって感謝します

4

1 に答える 1

0

まず、これは非常に単純化した説明であり、仮想メモリの明確なガイドではありません。

仮想メモリは基本的に、コンピュータのメモリ空間で実行されている唯一のものであるという錯覚をプロセスに与えます。プロセスが仮想メモリ ページにアクセスすると、MMU はそれを物理メモリ アクセスに変換します。物理メモリ ページがまだ存在しない (または物理メモリ内にない) 場合、プロセスは中断され、オペレーティング システムに通知され、プロセスを再開する前にページをメモリに追加できます (たとえば、ディスクからフェッチします)。 .

仮想メモリを使用する理由の 1 つは、プロセスが使用するメモリの量をあまり気にする必要がなく、マシンの物理メモリを拡張した場合などに変更する必要がないことです。メモリをアドレス指定して、オペレーティング システムに実際のメモリの使用方法を解決させることができます。

(通常) コンピューターの速度が遅くならない理由は、多くのプロセスが常にメモリの大部分を使用しないためです。メモリ ページが 1 時間以内にアクセスされない場合、物理メモリを使用できます。アクティブに保つよりも、その時間に使用する方がはるかに優れています。もちろん、プロセスがアクティブに継続的に使用するメモリが多いほど、プロセスの実行速度は遅くなります。

于 2013-10-13T12:10:44.297 に答える