メモリマップとは
そのように見えるかもしれませんが、コンピュータのメモリは、データをダンプできる巨大なビンのようなものではありません。 ビンの代わりに、コンピューターのメモリはファイリングキャビネットに似ています。 コンピューターのメモリ上のファイルの配置は、メモリマップと呼ばれる仮想ファイルに保存されます。 メモリマップには、コンピュータのメモリの各「引き出し」に関する情報が含まれています。 動作中、オペレーティングシステムはメモリマップを使用して、コンピューターシステムで使用可能なメモリの量にアクセスして使用する方法を学習します。
メモリマップには、システムメモリで使用可能な各スロットの完全な読み取り値が含まれています。 これを視覚化する簡単な方法は、グリッドレイアウトとしてです。 コンピュータのメモリ内の各ファイルには、特定のアドレス、その場所を示す座標があります。 マップ上のメモリ座標またはアドレスごとに、メモリマップは、メモリが使用可能かどうか、または他のプログラムが将来の使用のためにメモリを予約しているかどうかをリストします。 これにより、コンピューター上のすべてのメモリ情報がプログラムごとに明確に分離され、メモリエラーやその他の問題が防止されます。
作業マップがないと、メモリに保存されている情報の整合性は常に危険にさらされます。 金融プログラムとビデオゲームが1台のコンピューターで同時に実行されていたとします。 財務プログラムは、銀行口座の残高をメモリのアドレス1に保存します。 プロセスをガイドするメモリマップがなければ、ビデオゲームプログラムが高得点を保存すると、その情報はビデオゲームプログラムによって簡単に上書きされる可能性があります。 現在、コンピュータはバランスの取れた銀行口座ではなく、ビデオゲームのパフォーマンスに基づいて財務データを調整しています。 さらに悪いことに、違いを指摘するメモリマップがなければ、システムはエラーをキャッチする機会を大幅に削減します。
マップの機能は、使用方法によって異なります。 コンピューターの起動プロセス中に、マップはオペレーティングシステムにシステム上のメモリの総量を通知し、メモリマップをオペレーティングシステムで利用できるようにして、基本的なレイアウトを提供します。 ただし、メモリマップは仮想メモリとデバッグプログラムにとっても重要です。 仮想メモリでは、マップは仮想メモリと実際の物理アドレスの間にオーバーレイを提供します。これは、翻訳者がマップをマイルからキロメートルに変換する可能性があるためです。 デバッグでは、マップを使用して、保存されたデータに対してメモリアドレスをチェックし、すべてが適切な場所にあることを確認します。