利用者アドレス空間の2GBの仮想記憶は,ソフトウェアごとに割り当てる(2.30参照)ので,OSは,どの仮想記憶のどこに,どのプロセスのプログラムとデータを装填したか,そして,それを起動した後には,各時点にプロセスのどの部分の指示をCPUが実行中かを監視します.図14の左上半分の仮想記憶領域での話です.
CPUは, RAMに実際に装填したプロセスの1つの指示を実行するたびに,対応する仮想記憶の上のプロセスのどこの指示を実行するかをなぞって行きます.
仮想記憶も仮想記憶に装填したプロセスも,実際には存在しない架空のものです.OSは,この架空の記憶装置の架空のプロセスの上で,プロセスの進行を監視します.
つまり,OSの「頭の中」で模擬的に処理を進めます.図14の赤い矢印は,今注目しているソフトウェアのプログラムの,CPUがただ今処理する指示の位置を示します.
赤い矢印は仮想記憶とRAMの両方にあります.RAMの赤い矢印が,RAMに装填されているプログラムの中の,実際にCPUが処理する指示の位置を示します.
仮想記憶にある赤い矢印は,それに対応する仮想記憶のプログラムの中の位置を示します.このように両者を対応付けながら,OSは仮想記憶の上で,仮想的にプロセスを実行するのです.
つまり,OSは,実は,RAMで実際に進めている処理を,仮想記憶において模擬的に「なぞって」いるのです.
多くのプロセスが起動していても,(仮想的に)装填されるOSは1つです.そうでなければ,多くのプロセスの実行状態を把握して,総合的に管理することができないからです.それで,システムアドレス空間はプロセスの個数とは関係なく常に1つです.