Ansonsten könnte jeder Prozess in dem Adressraum der anderen Prozesse wüten wie er will. Das ganze System wäre einfach um einiges instabiler und quasi unendlich unsicherer.
Merkt man ja an den
Win9x-Systemen, wo ein Programm Mist baut und dafür ein Anderes verreckt, weil dessen Speicher geschrottet wurde.
Unter
WinNT-Systemen gibt es eben einen physikalischen Arbeitsspeicher, die Auslagerungsdatei und viele virtuelle Prozessräume (je Application).
Es gibt zwar theoretisch auch Möglichkeiten, daß eine Usermode-Anwendung physikalischen
RAM reservieren kann, aber davon würde ich möglichs abraten. Gibt eh fast nie einen "guten" Grund für Sowas und wenn es schief läuft, dann legt man damit das ganze System lahm, da Windows dort keine Möglichkeit hat diesen Speicher auszulagern/verschieben.
Der virtuelle Speicher der Anwendungen liegt Kreuz und Quer im
RAM/Pagefile rum, ist garnicht wirklich vorhanden oder besteht aus in den Speicher gemappten Dateien/Dateiteilen.
Eine direkte 1 zu 1-Beziehung zwischen Pointer (Offset im virtuellen Arbeitsspeicher) und Adresse im
RAM/Pagefile gibt es also nicht.