Linuxのメモリを扱う際に必要な事項を書いています。
メモリを示すデバイスファイルについてです。
/dev/memファイルは物理メモリを示すキャラクタデバイスファイルです。各バイトのアドレスが物理アドレスとして解釈されます。存在しない場所へのアクセスはエラーが返ります。
/dev/kmemファイルはカーネルの仮想メモリを示すキャラクタデバイスファイルです。
物理メモリの保全は、一般的にddで/dev/memを利用して保全します。しかし、最近のディストリビューションではアクセスができないようにカーネルがビルドされていて、何らかの解決策が必要になります。
また、例えばDebian Etchでは/dev/memを利用してddでイメージングすることが可能です(ただし、最後にエラーが発生します)。/dev/kmemを指定するとすぐにエラーが発生して1ページ分しか取得できません。