Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#6

AW: Pointer und BasisAddresse

  Alt 14. Okt 2011, 10:18
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (14. Okt 2011 um 10:20 Uhr)
  Mit Zitat antworten Zitat