仮想メモリ | Windows

Windows (32bit) の世界では、プロセスには4Gのメモリが割り当てられます。これはコンピュータ搭載メモリの容量に依存しません。当然、プロセスごとに4Gを割り当てることは(メモリ搭載量の観点より)ほぼ不可能です。(tasklist.exe で確認したところ私のコンピュータでは106個のプロセスが動作していました。)。
この問題を解決するために、Windowsでは仮想メモリという仕組みを使用します。


スポンサード リンク


(*1)プロセスは直接物理メモリにアクセスできません。
(*2)メモリ管理ユニット (MMU:Memory Management Unit)ハードウェア。主に仮想メモリアドレスを物理メモリアドレスに変換する機能を提供。
(*3)物理ページが見つからない場合は Page Fault が発生する。OSはPage Fuaultを受け取ると、ページファイルから物理メモリへ該当ページをコピーする。その後処理を続行する。


以下の利点があります。
・プロセス(プログラム/アプリケーション)は搭載物理メモリ量を意識せずに、4Gの大きな領域を使用することができます。物理メモリ→スワップファイルへの変換などはすべてOSが自動的に実施するため、プロセスは意識する必要はありません。
・逆にプロセスは物理メモリに直接アクセスすることは出来ません。(古いOSであるMD-DOS/Windows 3.1などでは物理メモリに直接アクセスすることが可能でした。その為プログラムの誤動作により物理メモリの重要な場所に誤ったデータを書き込み、OSそのものが異常終了してしまうことがありました。

スポンサード リンク

[Windows メモリまとめに戻る]