Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Dr. Wolfram Amme, Automatische Speicherverwaltung, Informatik II, FSU Jena, SS 2002 1 Automatische Speicherverwaltung.

Ähnliche Präsentationen


Präsentation zum Thema: "Dr. Wolfram Amme, Automatische Speicherverwaltung, Informatik II, FSU Jena, SS 2002 1 Automatische Speicherverwaltung."—  Präsentation transkript:

1 Dr. Wolfram Amme, Automatische Speicherverwaltung, Informatik II, FSU Jena, SS 2002 1 Automatische Speicherverwaltung

2 Dr. Wolfram Amme, Automatische Speicherverwaltung, Informatik II, FSU Jena, SS 2002 2 Speicherverwaltung funktionaler Sprachen eine Eigenschaft der Laufzeitumgebung funktionaler Sprachen ist die effiziente, automatische Zuteilung und Freigabe von Speicher stapelbasierte Ansätze können nicht verwendet werden, da Referenzen auf im Funktionsrahmen angelegte Parameterwerte auch nach Ausführung des Funktionsaufrufes existieren können Einfachste Möglichkeit: Überhaupt keinen Speicher freigeben bei jedem Funktionsaufruf wird ein Funktionsrahmen angelegt, der beim Verlassen der Funktion nicht freigegeben wird korrekt und einfach zu implementieren, jedoch läuft der Speicher bei einem solchen Verfahren sehr schnell voll Verfahren zur automatischen Speicherverwaltung unterscheiden Verwaltung des für die Zuteilung verfügbaren freien Speichers Rückgewinnung von vorher zugeteiltem Speicher

3 Dr. Wolfram Amme, Automatische Speicherverwaltung, Informatik II, FSU Jena, SS 2002 3 Verwaltung des freien Speichers das Betriebssystem stellt dem auszuführenden Programm einen zusammenhängenden Block an Speicher zur Verfügung freier Speicher innerhalb dieses Blockes wird mit einer Liste freier Blöcke verwaltet belegt frei

4 Dr. Wolfram Amme, Automatische Speicherverwaltung, Informatik II, FSU Jena, SS 2002 4 Speicheranforderung (First-Fit-Strategie) Speichermanager durchsucht die Freispeicherliste nach dem ersten Block der einer angeforderten Speichergröße genügt First-Fit ist immer dann die beste Strategie, wenn die Speicheranforderungen exponentiell verteilt sind Speicheranforderung

5 Dr. Wolfram Amme, Automatische Speicherverwaltung, Informatik II, FSU Jena, SS 2002 5 Speicheranforderung (Best-Fit-Strategie) Speichermanager durchsucht gesamte Freispeicherliste nach dem kleinsten Block, der einer angeforderten Speichergröße genügt Best-Fit ist immer dann die beste Strategie, wenn die Speicheranforderungen gleichverteilt sind Speicheranforderung

6 Dr. Wolfram Amme, Automatische Speicherverwaltung, Informatik II, FSU Jena, SS 2002 6 Speicherfreigabe wird Speicher zurückgewonnen, dann werden die Blöcke wieder in die Freispeicherliste eingetragen nicht mehr benötigte Blöcke Speicherfreiliste nach Verschmelzung der Blöcke

7 Dr. Wolfram Amme, Automatische Speicherverwaltung, Informatik II, FSU Jena, SS 2002 7 Speicherrückgewinnung (Referenzzählen) Referenzzählen ist ein ungeduldiges Verfahren der Speicherrückgewinnung, da es versucht nicht mehr benötigte Blöcke schnellst möglich zurückzugewinnen jeder zugeteilte Block erhält ein zusätzliches Zählerfeld, in dem die Anzahl an Referenzen auf einen Block abgelegt werden immer wenn eine Referenz geändert wird, müssen die Referenzzähler aktualisiert werden fällt ein Referenzzähler auf Null, dann kann ein Block an die Freispeicherliste zurückgegeben werden in der Praxis hat dieses Verfahren eine Menge an Nachteilen zusätzlicher Speicher für die Referenzzähler wird benötigt Referenzzähler müssen rekursiv aktualisiert werden zyklische Datenstrukturen können entstehen, für die Speicher nie mehr freigegeben werden kann

8 Dr. Wolfram Amme, Automatische Speicherverwaltung, Informatik II, FSU Jena, SS 2002 8 Speicherrückgewinnung (Markieren und Suchen) Markieren und Suchen ist ein faules Verfahren, da die Rückgewinnung zurückgestellt wird, bis kein Speicher mehr da ist bei einem Speicherüberlauf wird folgende Prozedur ausgeführt: durch rekursives Verfolgen aller Programmreferenzen werden die noch angesprochenen Speicherblöcke markiert anschließend wird der Speicher linear durchlaufen und nicht markierte Speicherblöcke freigegeben Vorteile gegenüber Speicherrückgewinnung mit Referenzzählen Minimierung des zur Markierung benötigten Speichers keine Probleme bei der Speicherrückgewinnung zyklischer Datenstrukturen Nachteil des Verfahrens: Aufruf des Garbage Collectors kann die Ausführung des Programms sekundenlang zum Stillstand bringen.

9 Dr. Wolfram Amme, Automatische Speicherverwaltung, Informatik II, FSU Jena, SS 2002 9 Verbesserung (Markieren und Suchen) Speicher wird in zwei gleich große Teile unterteilt, wobei nur einer dieser Teile dem Programm zugeordnet wird beim Speicherüberlauf werden die durch rekursives Verfolgen aller Programmreferenzen gefundenen, noch angesprochenen, Speicherblöcke in den nicht benutzten Teil des Speichers kopiert Programm arbeitet anschließend auf dem Teil des Speichers, in dem die noch angesprochenen Speicherblöcke kopiert wurden dieses Verfahren benötigt keinen zusätzlichen Speicherplatz zur Markierung keinen zweiten Durchlauf durch die Freispeicherliste keine Verschmelzung der freizugebenden Speicherblöcke Laufzeitverhalten während der Speicherrückgewinnung wird jedoch nur gering verbessert


Herunterladen ppt "Dr. Wolfram Amme, Automatische Speicherverwaltung, Informatik II, FSU Jena, SS 2002 1 Automatische Speicherverwaltung."

Ähnliche Präsentationen


Google-Anzeigen