Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

AW: Pointer und BasisAddresse

  Alt 14. Okt 2011, 09: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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

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