1. 序章

このチュートリアルでは、物理メモリと仮想メモリについて簡単に説明します。 その後、仮想メモリについて簡単に説明し、次にそれらの違いを要約します。

2. 物理メモリ

初期のコンピュータは一次記憶装置として、遅延線ウィリアムズ-キルバーン管、または回転磁気ドラムを採用していました。 1950年代までに、磁気コアメモリは、そのような信頼性が低く欠陥のある技術によってほとんど置き換えられていました。 1970年代まで、コアメモリはその場所にとどまりました。 その後、集積回路(IC)技術の進歩により、半導体メモリは経済的に競争力を持つようになりました。

これにより、コンピュータの最新のランダムアクセスメモリ(RAM)は、物理メモリまたはプライマリメモリと呼ばれます。通常、マザーボード上にあります。 物理メモリは揮発性メモリであり、RAMチップのためにサイズが制限されています。 その結果、データを保存するための一貫したフローが必要になります。 一方、電源の問題や中断により、物理メモリからデータが消去される可能性があります。

物理メモリにも直線的にアクセスできます。言い換えると、メモリアドレスは直線的に増加します。 また、実行するプログラムの命令を保持し、CPUが直接アクセスできる唯一のストレージタイプです。 次の図は、物理メモリまたはプライマリメモリと呼ばれるRAMを示しています。

ハードディスクは通常、プログラムを保存します。 プログラムを実行するために、CPUが毎回ハードディスクにアクセスするのに時間がかかります。 したがって、物理メモリが最初にプログラムを格納する場合、CPUはそれらをより迅速に処理できます。

物理メモリを介したデータへのアクセスは、ハードドライブからのデータへのアクセスよりも短時間で済みます。プログラムは、実行が完了するとハードドライブに戻ります。 同様に、新しいアプリケーションは実行するために空きメモリを使用できます。 それらが実行を開始するとき、それらをプロセスと呼びます。

3. 仮想メモリ

前述のように、システム内のRAMなどのプライマリメモリは限られており、コストがかかります。ただし、ディスクなどのセカンダリメモリは安価で大容量であり、簡単にサイズを大きくすることができます。

仮想メモリは、ユーザーに非常に大規模なメモリのイメージを作成するメモリ管理戦略です。前述のように、物理メモリには制限があります。 仮想メモリを使用すると、物理メモリでストレージリソースの抽象化を理想化できるため、特定のコンピュータでこれらのリソースに実際にアクセスできます。

この概念は、明らかなプライマリメモリ拡張のためのユニークな方法を提供します。 これにより、メインメモリの一部であるかのようにセカンダリメモリにアクセスできます。 これを拡張するための1つのアプローチは、未使用のRAMストレージを一時的にセカンダリストレージに移動することです。

仮想メモリは、基本的に、システムに実際に格納されているものよりも多くのメモリへのアクセスを可能にします。 オペレーティングシステム(OS)と、コンピューターにインストールされているソフトウェアとハードウェアを利用して、RAMからディスクにデータを移動することでこれを維持します。 次の図で仮想メモリがどのように機能するかを見てみましょう:

3.1. 仮想メモリはどこにありますか?

仮想メモリはOSの助けを借りてページの形で存在します。これらのページは巨大なプログラムを格納できるアトミックユニットです。 ソフトウェアの物理アドレスには多くのストレージがある可能性があります。 アプリケーションには特定のプログラムのみが使用されるため、それらすべてをロードする必要はありません。

コンピューターでGTAのようなゲームをプレイしていると仮定します。 ゲームをインストールする必要がある場合は、ハードディスクなどのセカンダリストレージスペースにゲームをインストールします。 実際には、ゲームのファイル全体がRAMにロードされるわけではありません。 ただし、RAMは、ゲームのプレイを開始すると、ゲームの特定の部分を保存します。

3.2. 仮想メモリはどのように機能しますか?

ハードウェアとソフトウェアの両方が連携して、仮想アドレスを物理アドレスにマップします。 さらに、メモリ管理ユニット(MMU)は、これらのアドレスの変換を支援します。

オペレーティングシステムでは、物理アドレスではなく論理アドレスが表示されます。 ロード、実行、またはコンパイル時に、システムはこれらの論理アドレスを動的に変換します。 また、システムのニーズやシステムの定義によっても異なります。

メモリに保持されるプロセスとリソースは、実際のシナリオでは継続的ではありません。 実際、システムは故障し、物理メモリ全体に広がります。 これは、動的なランタイムアドレス変換とページまたはセグメントテーブルを使用して簡単に実現できます。

4. 物理メモリと仮想メモリの違い

5. 結論

このチュートリアルでは、物理メモリと仮想メモリを簡単に定義しました。

さらに、このような2つの別個のエンティティが必要な理由について詳細に直感的に説明しようとしました。 最後に、それらの違いを表にまとめました。