[quote="MrKnogge"]Hi zusammen !
Ich hab als Hausaufgabe in Prog auf Montag auf,
herauszufinden, wie Delphi den Speicher organisiert:
- Stack
- High
- Leed
Zitat:
ich hab bisher nur herausgefunden, dass Delphi den
Stack standardmäßig auf 16 KB hat.
Redest du von Delphi 1.0 ?
Denn wenn das für Delphi 32Bit (Version 2 bis 7) gilt, dann düften einige meiner Programm laufend einen Stack-Überlauf bringen.
Windows gibt einen Stack von 1 MB vor und Delphi nutzt diesen auch so wie er ist.
Zudem besitzt jeder Prozess einen Adressraum von 4 GB. Davon sind 2 GB für das System reserviert. Dein Hauptprogramm beginnt meist an der 4 MB Grenze des Adressraums.
Adressraum: Kein physikalischer Speicher. Der Adressraum gibt den Bereich der Zeigeradressen vor. Er wird auch als virueller Speicher bezeichnet, da die virtuelle Adresse XYZ auf eine reale Adresse ABC im
RAM abgebildet wird.
Delphi installiert einen eigene Speichermanger, der die Reservierung von kleinen Speichermengen beschleunigt, da er einen großen Block vom System anfordert und diesen dann aufteilt und die freien Blöcke verwaltet.
Speichermanagement ist ein sehr vielseitiges Thema und braucht in guten Büchern ein großes, eigenes Kapitel.