logo

OS(オペレーティングシステム)の仮想メモリとは何ですか?

仮想メモリは、ユーザーに非常に大きなメイン メモリがあるかのような錯覚を与えるストレージ スキームです。これは、二次記憶の一部を主記憶として扱うことによって行われます。

このスキームでは、ユーザーはプロセスをロードするためにメモリが利用可能であると錯覚することで、利用可能なメインメモリよりも大きなサイズのプロセスをロードできます。

オペレーティング システムは、1 つの大きなプロセスをメイン メモリにロードするのではなく、複数のプロセスのさまざまな部分をメイン メモリにロードします。

これにより、マルチプログラミングの度合いが高まるため、CPU 使用率も増加します。

仮想メモリはどのように機能するのでしょうか?

現代の言葉で言えば、仮想メモリは最近非常に一般的になりました。このスキームでは、実行のために一部のページをメイン メモリにロードする必要があり、それらの多くのページにメモリが利用できない場合、その場合、ページがメイン メモリに入るのを停止する代わりに、OS が次のページを検索します。最近最も使用されていない、または参照されていない RAM 領域を 2 次メモリにコピーして、メイン メモリ内に新しいページ用のスペースを作成します。

この手順はすべて自動的に行われるため、コンピューターは無制限の RAM を搭載しているように感じられます。

デマンドページング

デマンド ページングは​​、仮想メモリ管理の一般的な方法です。デマンド ページングでは、最も使用されていないプロセスのページが二次メモリに保存されます。

ページは、要求が行われたとき、またはページフォルトが発生したときにメインメモリにコピーされます。置換されるページを決定するために使用されるさまざまなページ置換アルゴリズムがあります。それぞれについては後で詳しく説明します。

仮想メモリ管理システムのスナップショット

2 つのプロセス P1 と P2 にそれぞれ 4 ページが含まれていると仮定します。各ページのサイズは 1 KB です。メイン メモリには、それぞれ 1 KB のフレームが 8 つ含まれています。 OS は最初の 2 つのパーティションに存在します。 3 番目のパーティションでは、1セントP1 のページが保存され、他のフレームもメイン メモリ内のプロセスの異なるページで満たされていることが示されています。

両方のページのページ テーブルのサイズはそれぞれ 1 KB であるため、それぞれ 1 つのフレームに収まります。両方のプロセスのページ テーブルには、画像にも示されているさまざまな情報が含まれています。

CPU には、ページ テーブルのベース アドレスを含むレジスタが含まれています。このアドレスは、P1 の場合は 5、P2 の場合は 7 です。このページ テーブルのベース アドレスは、実際の対応するエントリにアクセスする際に、論理アドレスのページ番号に追加されます。


OS仮想メモリ

仮想メモリの利点

  1. マルチプログラミングの度合いが高まります。
  2. ユーザーは、少ない実 RAM で大規模なアプリケーションを実行できます。
  3. メモリ RAM を追加購入する必要はありません。

仮想メモリの欠点

  1. スワップに時間がかかるため、システムが遅くなります。
  2. アプリケーションの切り替えに時間がかかります。
  3. ユーザーが使用できるハードディスク容量は少なくなります。