web-dev-qa-db-ja.com

仮想メモリと内蔵メモリ(RAM)の違いは何ですか?

私はハードドライブの最大24GBを「仮想メモリ」として割り当てました。これは、コンピュータがRAMとして使用できる余分なスペースであると理解しています。私のシステムには8GB RAMが組み込まれているので、利用可能なRAMを最大32GBまでポンプしていると想定しています。

virtual memory allocation

私の質問は、最大24GBの仮想メモリは内蔵RAMよりも効率が悪いということです。そしておそらくもっと重要なのは、仮想メモリと物理RAMの本当の違いは何ですか

4
khaverim

SUタグごとの仮想メモリの定義(私が書いた):

仮想メモリは、使用可能な物理メモリ(インストールされているRAM)よりも多くのアドレス空間を提供する手法です。
各プロセスには独自の仮想メモリを指定でき、ハードウェア(メモリ管理ユニット、MMU)はすべてのを変換します/仮想メモリ物理メモリアドレスへの参照。

実際の物理メモリよりも多くの仮想メモリが使用されている状況に対応するために、ストレージデバイス上のスペース(バッキングストア、スワップスペース、またはHDD、SSD、さらにはサムドライブなどのpage file)を使用して、「swap out"メモリデータと後で必要に応じて" swap(back)in "。
スワップされたメモリデータは通常、ページと呼ばれるデータ長ですが、可変長セグメントまたはページセグメントを使用する代替スキームがあります。

表示されているダイアログボックスは、ページファイルのディスク容量を構成するためのものです。
仮想メモリを割り当てていません。 64ビットのCPUとOSを使用している場合、プロセスごとに2 ^ 64バイトの仮想メモリがあります。

仮想メモリは、より多くのアドレス空間を提供するための単なる技術から進化しました。仮想メモリは、各プロセスにセキュリティを提供する上で重要なコンポーネントであるため、プロセスが別のプロセスに干渉したり、別のプロセスによって危険にさらされたりすることはありません。

[〜#〜]補遺[〜#〜]

仮想メモリを説明することの難しさは、MicrosoftがVMが実際にWindowsでどのように機能するか)の説明を再発明し、 this のような誤解を招く説明を公開したことです。および this
しかし、Microsoft以外のOS開発者や最新のCPU設計者が受け入れている仮想メモリの適切な定義と、仮想メモリが実際にコンピュータでどのように機能するかについては、この コンピュータアーキテクチャのプレゼンテーション で説明しています。
VMはささいなトピックではないため、MSは説明をひねって、ページングファイルの正味の利点と同等の役割を説明しているようです。最も残念なことに、MSは、ページングファイルを「仮想メモリ」と呼ぶこともあります。これは、「仮想メモリ」が実際にCPUとメモリサブシステムの外部にあるかのように、コンピュータアーキテクチャコースで学んだこととは逆です。仮想メモリは実際にはそうです。

仮想メモリのMSWindowsの「説明」では、プロセス間のメモリ保護については言及されていないことに注意してください。その省略は、この説明が偽物であるという手がかりです。仮想メモリの使用は、コンピュータのセキュリティを確保し、1つのアプリケーションプログラムが他のプログラムまたはPC全体を破壊するのを防ぐための重要なメカニズムです。 MS Windowsは、プロセスを分離するために代替メカニズムを使用しません。他のオペレーティングシステムと同じように、提供されているMMUハードウェアで仮想メモリを使用します。

補遺2

これが Microsoftの技術記事 コンベンショナルメモリ管理用語を使おうとするものです。 「仮想アドレス空間」の物理的RAMへのマッピングは、コンピューターコミュニティが仮想メモリのメモリマッピングとして知っているものの顕著な操作です。

仮想アドレスの範囲は、仮想メモリの範囲と呼ばれることもあります。

「時々」の挿入は、MS以外の世界が使用する「仮想メモリ」の従来の定義を認めているかのように少し奇妙ですが、この用語のMS(誤)使用と矛盾しません。
物理アドレスが物理メモリに対応するのと同じように、仮想アドレスは仮想メモリに対応します。

4
sawdust

仮想メモリはロードされる場所ですが、現在のプロセスをパークすることはできません。

メモリ内のプログラムは、すぐに使用できます。デスクトップに本を開いているようなものです。スワップファイルにあるものは、正しいページで本を開いているようなものですが、後ろのドレッサーに座っています。使用する前に、まず机に持っていく必要があります。

開いていないものは本棚にいるようなものです。あなたは本をフェッチして、それからそれを正しいページに開く必要があります。

より多くの実際のメモリを持つことは、より大きな机を持つことに似ています。より多くのことをまっすぐに行うことができます。ドレッサーなどで開いているものはデスクトップまたは実メモリで管理されるため、仮想メモリが多すぎるとキラーになる可能性もあります。

ここでは速度が主なマーカーです。

また、windosは固定メモリサイズ、特に32ビットのものにしか対応できません。したがって、win64を使用していない限り、4GBで十分です。

1
wendy.krieger