推奨されます, 2024

エディターズチョイス

OSにおける仮想メモリとキャッシュメモリの違い

メモリは、情報を一時的または永続的に保存するために使用されるハードウェアデバイスです。 この記事では、仮想メモリーとキャッシュ・メモリーの違いについて説明しました。 キャッシュメモリは、データのアクセス時間を短縮するために使用される高速メモリです。 一方、 仮想メモリは厳密には物理メモリではなく、メインメモリの容量を限界を超えて拡張する手法です。

仮想メモリとキャッシュメモリとの主な違いは、 仮想メモリはユーザがメインメモリよりも大きいプログラムを実行することを可能にするのに対し、 キャッシュメモリは最近使用されたデータへのより速いアクセスを可能にすることである。 以下に示す比較表を使用して、さらにいくつかの違いについて説明します。

比較表

比較基準仮想メモリキャッシュメモリ
基本仮想メモリは、ユーザにとってメインメモリの容量を拡張します。キャッシュメモリはCPUのデータアクセス速度を高速化します。
自然仮想メモリはテクニックです。キャッシュメモリは記憶装置です。
関数仮想メモリは、メインメモリよりも大きいプログラムの実行を可能にします。キャッシュメモリには、最近使用された元のデータのコピーが保存されています。
メモリ管理仮想メモリはオペレーティングシステムによって管理されます。キャッシュメモリはハードウェアによって完全に管理されています。
サイズ仮想メモリはキャッシュメモリよりはるかに大きいです。キャッシュメモリのサイズは制限されています。
マッピング仮想メモリは、仮想アドレスを物理アドレスにマッピングするためのマッピング構造を必要とします。そのようなものとしてキャッシュメモリ内にマッピング構造は必要とされない。

仮想メモリの定義

仮想メモリは正確にはコンピュータの物理メモリではなく、代わりにメインメモリに完全に配置されて いない可能性がある大きなプログラムの実行を可能にする手法です。 これにより、プログラマはメインメモリよりも大きいプログラムを実行できます。

仮想メモリはどのように機能するのでしょうか。 プログラムは、いくつかのページに分割されている仮想メモリアドレスを持っています 。 メインメモリもいくつかのページに分割されています 。 さて、プログラムの仮想アドレスが利用可能なメインメモリより大きいことがわかります。 そのため、メモリマップは仮想アドレスをメインメモリにマッピングするために使用されます。

ページ0、1、2がメインメモリにマップされ、メインメモリがいっぱいになります。 ここで、仮想メモリのページ3がメインメモリ内のスペースを要求すると、最も古い配置されたページ、すなわちページ0がハードディスクに転送され、メインメモリ内のページ3のための場所を退避させ、プロセスが続く。 ページ0が再び必要になった場合は、その時点で最も古いページがハードディスクに転送され、ページ0が作成されます。

2つのプログラムがメインメモリに置かれた同じデータを必要とする場合、メモリマッピングユニットは、 共有データが格納されているメインメモリ内の同じアドレス空間を両方のプログラムが共有することを可能にする。 これによりファイルの共有が容易になります。

仮想メモリの利点は次のとおりです。

  • プログラムはもはやメインメモリの制限によって制約されません。
  • 仮想メモリはマルチプログラミングの度合いを高めます。
  • CPU使用率を上げます。
  • I / Oユニットが少ないほど、メモリ内のプログラムをロードまたはスワップする必要があります。

しかし、仮想メモリには欠点があります。ハードディスクからより多くのプログラムのページを配置すると、メインメモリからデータにアクセスするよりも時間がかかるため、 パフォーマンス低下します。

キャッシュメモリの定義

仮想メモリとは異なり、 キャッシュプロセッサ自体に実装された記憶装置です。 それは最近アクセスされたオリジナルデータのコピーを運びます。 元のデータは、メインメモリまたは二次メモリに配置されてもよい。 キャッシュメモリはデータのアクセス速度を速めますが、どうでしょうか。 理解しましょう。

CPUのアクセス速度はメインメモリのアクセス速度に制限されていると言えます 。 プログラムがプロセッサによって実行されるときはいつでも、メインメモリからそれをフェッチする。 プログラムのコピーがすでにプロセッサに実装されているキャッシュに 存在する場合 。 プロセスはより速くそのデータにアクセスすることができるでしょう、そしてそれはより速い実行をもたらすでしょう。

仮想メモリとキャッシュメモリの主な違い

  1. 仮想メモリ 、実質的にユーザーにとってメインメモリの容量を拡張します。 しかしながら、キャッシュメモリはCPUにとってデータのアクセスをより速くする。
  2. キャッシュはメモリ記憶装置であり、仮想メモリは技術です。
  3. 仮想メモリは、メインメモリより大きいプログラムの実行を可能にします。一方、キャッシュメモリは最近使用されたオリジナルデータのコピーを格納します。
  4. 仮想メモリ管理はオペレーティングシステムによって行われます 。 一方、キャッシュメモリ管理はハードウェアによって行われます
  5. 仮想メモリは、キャッシュメモリよりはるかにサイズが大きいです。
  6. 仮想メモリ技術は仮想アドレスを物理アドレスにマッピングするためにマッピング構造を必要とするが、キャッシュメモリいかなるマッピング構造必要としない

結論:

仮想メモリは、実質的にユーザーのためにメインメモリの容量を拡張するための技術です。 キャッシュメモリは、最近アクセスされたデータを記憶する記憶装置であり、CPUがそれをより速くアクセスすることを可能にする。

Top