物理メモリはページ フレームに編成されます。ページ フレームのサイズはバイト単位で 2 のべき乗であり、システムによって異なります。
論理メモリは PAGES に編成されます。ページのサイズはページ フレームに一致します。
論理アドレスは、ページ セレクタとページへのオフセットに分けられます。
論理ページは、ページ テーブルを使用してページ フレームにマップされます。ページ テーブルの構造は、システムによって異なります。論理アドレスのページ セレクターは、ページ テーブルへのインデックスとして機能します。
ほとんどのシステムでは、ページ テーブルは、関連付けられたページ フレームを持たない有効な論理アドレスを指定できます。これは仮想記憶システムです。アプリケーションがそのようなページにアクセスしようとすると、ページ フォールト例外がトリガーされます。オペレーティング システムのページ フォールト ハンドラは、物理ページ フレームを割り当て、セカンダリ ストレージからのデータを使用してページ フレームをロードし、ページ テーブルを更新して論理ページを新しく割り当てられた物理ページ フレームにマップし、最後にフォールトの原因となった命令を再開する必要があります。
オペレーティング システムは、ページ テーブルを管理します。 CPU は (アプリケーションに対して透過的に) ページ テーブルを使用して、論理ページ フレームを物理ページ フレームに変換します。
ページ フレームは、メイン メモリの物理プロパティです。一方、仮想ページは... 仮想です。
frame 0 frame 1 frame 2 frame 3 frame 4
----------------------------------------------
| | | | | |
| | | | | |
---------------------------------------------- Main Memory
ページ (またはメモリ ページ、仮想ページ、または論理ページ) は、仮想メモリの固定長の連続ブロックです。
フレーム (またはメモリ フレーム、または物理ページ、またはページ フレーム) は、RAM の固定長ブロックです (つまり、物理メモリ、「物理」のように存在します。仮想メモリは、数学が適切かつ効率的に機能するために発明されました。メモリを安全に管理するためです)。
フレームは連続していない可能性がありますが、ページは連続していることに注意してください。すべてを簡単にするため、プロセス、つまりOSが連続したアドレスを処理することを望んでいます。専用ハードウェア チップ (MMU) が仮想アドレスを適切な物理アドレスに対応させ、その逆も同様です。
仮想アドレスはプロセスによって使用されますが、物理アドレスはハードウェアによって使用されます。 CPU(アドレスバスにアドレスを配置してメモリアクセスを要求する)とRAMサブシステム(MMU、ページテーブルなど)。プログラムがコンパイルされると、コンパイラはプログラムコードを機械が理解できるコードに変換し、このプロセスの間に、アドレス、スペースは仮想アドレスの形式で設定されます。プロセッサによって処理されると、それらは MMU の助けを借りて、RAM か HDD かを問わず、メモリ内で利用可能な物理的な場所に再びマップされます。
PS. ページ フレームという用語の使用は容認しません。それが混乱の元であることに気付くでしょう。 「ページ」と「フレーム」という、明確な意味を持つ非常に単純な 2 つの単語に固執してください。