Lage und Größe des Heaps.



  • Wo liegt der Heap,den ich mit "new" und "delete" verwalte und wie groß ist er?

    EDIT: Ach tut mir leid.Ich hab jetzt erst das Forum "Themen rund um den PC" gefunden. -.-



  • ... den heap verwaltet das betriebssystem, du sihest in windows nur virtuelle Adressen. die realität kannst du nicht steuern.



  • Ja ok ich kann ihnen nicht direkt eine Adresse zuordnen.

    Aber er muss ja eine maximale Größe haben oder?

    Wovon hängt die Größe ab?



  • Mit nem 32 Bit Betriebssystem kannst du nen maximalen Adressraum von 4GB adressieren und unter Win32 hat auch jeder Prozess einen virtuellen Adressraum dieser Größe.
    Das OS bildet dann die wirklich belegten Speicherseiten der virtuellen Adressräume auf den realen physischen Speicher(RAM,Auslagerungsdatei,Cache)ab.

    Gruß Spacelord



  • Gut das wollt ich wissen.

    Danke 🙂



  • Spacelord schrieb:

    Mit nem 32 Bit Betriebssystem kannst du nen maximalen Adressraum von 4GB adressieren und unter Win32 hat auch jeder Prozess einen virtuellen Adressraum dieser Größe.

    Theoretisch. Aber in der Praxis belegt das Betriebssystem 2 GB, um dort seine DLLs usw. für den Prozess einzublenden. Aber auch 2 GB kann der Heap nicht groß werden, da ihm von der anderen Seite der Stack entgegen wächst. Und spätestens, wenn diese beiden auf einandertreffen ist Schluss. Sollte dich das Speichermanagemnt von Windows näher interessieren, würde ich dir das Buch "Windows Programmierung für Experten" von Jeffrey Richter ans Herz legen.



  • Luckie schrieb:

    Sollte dich das Speichermanagemnt von Windows näher interessieren, würde ich dir das Buch "Windows Programmierung für Experten" von Jeffrey Richter ans Herz legen.

    Kenn ich.Da du es ja auch kennst weißt du ja auch dass der Teil über das Speichermanagement etwa ein Drittel des kompletten Wälzers ausmacht.
    Ist schon schwierig das mit einem Satz zusammenzufassen ;).
    Dass in dem virtuellen Adressraum auch noch alles andere seinen Platz finden muss hab ich einfach als selbstverständlich vorausgesetzt.

    Gruß Spacelord


Anmelden zum Antworten