2017-05-07 8 views
-1

ここに私の理解があります:論理メモリがあるときに仮想メモリが必要なのはなぜですか?

論理メモリ:実際の論理メモリ空間はありません。プロセス実行中にCPUによって生成されたアドレスが含まれています。論理メモリのページは、物理メモリのフレーム(ページのサイズと同じ)にマッピングされます。 プロセスを実行するには、実行する前にすべてのページを物理メモリ(つまりフレーム)にロードする必要があります。プロセスの実行後、フレームは解放されます。

私は正しいですか? 仮想メモリの動作はどう違うのですか? AMD64アーキテクチャのものを参照する

答えて

0

はで説明されています:https://support.amd.com/TechDocs/24593.pdf 54ページ

彼らは定義:アドレスは、セグメント化されたアドレス空間をinsided 論理アドレスは(実際にはそのモードは、通常使用されていません)。セグメントベースアドレスをオフセットに加算することにより、論理アドレスを線形アドレスに変換することができる。

リニアアドレスは、プログラマが実際に見る64ビットのアドレスであり、利用可能な物理メモリよりもはるかに多いアドレスです。 OSは、使用に応じて、ハード・ディスクとの間でメモリ・ページのスワップを管理することができる。プログラマはそれを無視しています。

物理アドレスは、プログラマが決して見ないメモリのアドレスです。 ページングシステムは、メモリに読み書きする前に、リニアアドレスを物理アドレスに関連付けるように委任されています。

上記の定義と比較すると、線形(仮想)アドレスの代わりに論理アドレスという用語を使用します。 すべてのフレームを読み込む必要はありません。必要に応じてロードすることができます。

仮想メモリは、物理メモリがはるかに制限されている一方で、メモリを外部にマッピングする際には巨大な(2^64バイト= 16Eバイト=〜1000000 TB)リニアアドレス空間をプログラマに示すテクニックです。ストレージデバイスをハードディスクとして使用します。

0

私はそうですか?そして、仮想メモリはどうやって動くのですか?

全くありません。

アドレス変換の3つのタイプがあります

  1. 物理 - >直接の物理アドレス
  2. 論理 - >論理アドレスは
  3. 仮想ページテーブルによって物理アドレスに再マッピングされている - >物理メモリがあるが、二次記憶装置を使用してシミュレートされる。

論理メモリの変換もない限り、仮想変換は機能しません。物理ページ・フレームにマップされていない有効な論理ページが存在する場合、仮想トランスレーションが引き継がれます。この場合、2次記憶装置内のデータを見つけるために仮想変換が引き継がれます。

コンピュータのドキュメンテーションの方法の多くは、バーチャルと論理をバーチャルとして融合させています。仮想アドレス空間が物理アドレス空間(例えば、仮想4GB、物理8MB)に比べて大きい時代に、この集約は重要ではなかった。

物理メモリがGBの範囲に拡大すると、論理的な変換を保持しながら仮想変換が必要になります。つまり、両者の区別が重要になっています。

関連する問題