\Device\PhysicalMemory
はセクションオブジェクトで、Win32 API用語ではメモリマップファイルです。その名前が与えられるとMMF 完全にがRAMにバックアップされます。物理ページの1つのマッピング上の1つである。Windowsの Device PhysicalMemoryに説明が必要
そして、それはかなり私の質問です:このセクションオブジェクトは、物理メモリまたは非ページシステムアドレス空間を非ページング表していますか?
前者の場合、物理メモリの「穴」はどうですか?たとえば、PAE対応システムでは、システムアドレス空間の基礎となる物理メモリは、実際には「断片化」されている可能性があります。その\Device\PhysicalMemory
セクションオブジェクトにビューをマッピングした後に、そのような穴にアクセスするとどうなりますか?
私が混乱する理由は、MmMapIoSpace
関数がPHYSICAL_ADDRESS PhysicalAddress
パラメータを受け取り、その物理アドレスを非ページングシステムアドレス空間にマップするためです。 MmAllocateContiguousMemory
のような他のメモリマネージャ機能も参照してください。 実際の物理メモリが利用可能になり、連続した方法でアクセスできるように見せかけるのはかなり危険です。
明らかに、非ページングされた物理メモリと非ページングシステムアドレス空間の間に必ずしも1対1ではないマッピングがあります。
Windows Internals、第6版で上記および多数の関連用語を検索しようとしています。明確な答えは得られなかった。第10章では、主にWDKのドキュメントがシステムアドレス空間と呼ぶものについて扱います。したがって私はここで尋ねています。
回答の正式な情報源を参照してください。
詳細をお寄せいただきありがとうございます。私は本当に '\ Device \ PhysicalMemory'に関心があり、好奇心から多くのものを(ab)使用するより興味がありました。 – 0xC0000022L
私にはあなたに与える情報源がありません。 –
ところで、私は本当に何かしようとしていません。私は文書化されていないように見える内部について知ろうとしています。そして、ここで質問を入力することは、IDAを起動して逆アセンブリのページを覗くよりも賢明だとわかりました:) – 0xC0000022L