Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04...
-
Upload
leni-genzer -
Category
Documents
-
view
104 -
download
1
Transcript of Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04...
![Page 1: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/1.jpg)
Garbage Collection
Maik TheisenBetreuer: Guido Tack
Proseminar „Programmiersysteme“ – WS 03/04Prof. Dr. Gert Smolka
Programming Systems Lab, Universität des Saarlandes
![Page 2: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/2.jpg)
Gliederung
•Grundlagen
•Copying Garbage Collection
•Generational Garbage Collection
•Ausblick
![Page 3: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/3.jpg)
Was ist Garbage Collection?
•Automatisierte Bereinigung des Heaps
•Lisp war die erste Sprache mit GC
•Heute in vielen Programmiersprachen eingesetzt
•Ziel: „tote“ Speicherzellen freigeben
![Page 4: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/4.jpg)
Wozu Garbage Collection?
•Entlastung des Programmierers
•Reduzierung von Fehlern, z.B. Speicherlecks
•Rechtzeitige Freigabe von Speicher
![Page 5: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/5.jpg)
Lebende Objekte
A
CB
FD E
StackHeap
„root“
„toter“ Knoten
![Page 6: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/6.jpg)
Verschiedene Formen von GC
•Mark-Sweep
•Mark-Compact
•Copying
•Generational
![Page 7: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/7.jpg)
Gliederung
•Grundlagen
•Copying Garbage Collection
•Generational Garbage Collection
•Ausblick
![Page 8: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/8.jpg)
Entwicklung / Entstehung
•Erster CGC entstand 1969, war allerdings rekursiv (Fenichel, Yochelson)
•Cheney entwickelte 1970 einen iterativen Algorithmus
•Grundidee: Unterteilung des Heaps in „Semi-Spaces“ und Kopieren der Daten von einem „Semi-Space“ zum anderen
![Page 9: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/9.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
![Page 10: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/10.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
![Page 11: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/11.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
![Page 12: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/12.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
![Page 13: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/13.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
![Page 14: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/14.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘ C‘
![Page 15: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/15.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘ C‘
![Page 16: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/16.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘ C‘
![Page 17: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/17.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘ C‘
![Page 18: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/18.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘
C‘
C‘
![Page 19: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/19.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘
C‘
C‘
![Page 20: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/20.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘
C‘
C‘ D‘
![Page 21: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/21.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘
C‘
C‘ D‘
![Page 22: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/22.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘
C‘
C‘
D‘
D‘
![Page 23: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/23.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘
C‘
C‘
D‘
D‘
![Page 24: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/24.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘
C‘
C‘
D‘
D‘ E‘
![Page 25: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/25.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘
C‘
C‘
D‘
D‘ E‘
![Page 26: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/26.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘
C‘
C‘
D‘
D‘ E‘
![Page 27: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/27.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘
C‘
C‘
D‘
D‘
E‘
E‘
![Page 28: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/28.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘
C‘
C‘
D‘
D‘
E‘
E‘
![Page 29: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/29.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘
C‘
C‘
D‘
D‘
E‘
E‘
![Page 30: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/30.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘
C‘
C‘
D‘
D‘
E‘
E‘
![Page 31: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/31.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘
C‘
C‘
D‘
D‘
E‘
E‘
![Page 32: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/32.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘
C‘
C‘
D‘
D‘
E‘
E‘
![Page 33: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/33.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘
C‘
C‘
D‘
D‘
E‘
E‘
![Page 34: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/34.jpg)
Funktion (Cheney‘s Algorithmus)A
CB
D EFromspace
scan
free
Tospace
A‘
A‘
B‘
B‘
C‘
C‘
D‘
D‘
E‘
E‘
![Page 35: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/35.jpg)
Effizienz
•Cheney‘s Algorithmus läuft in der Komplexität O(n), wobei n die Anzahl der lebenden Objekte ist
•Abhängig von der Größe des Heaps
•Abhängig von der Größe der Objekte
![Page 36: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/36.jpg)
Große Objekte
•Werden oft kopiert, benötigen spezielle Behandlung
•Bereiche im Heap für diese Objekte reservieren und GC dort mit anderer Technik durchführen, z.B. Mark-Sweep
![Page 37: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/37.jpg)
Einsatzgebiete
•Systeme, bei denen die Speicherverwaltung von Allokationen dominiert wird
•Systeme mit kleinen, kurzlebigen Objekten
•Systeme, bei denen Verzögerungen bzw. Pausen unkritisch sind
![Page 38: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/38.jpg)
Probleme
•Art der Durchmusterung des Heaps
•Lokalität geht verloren
•Objekte mit langer Lebensdauer
![Page 39: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/39.jpg)
Gliederung
•Grundlagen
•Copying Garbage Collection
•Generational Garbage Collection
•Ausblick
![Page 40: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/40.jpg)
Entwicklung / Entstehung
•Basiert auf der „Weak Generational Hypothesis“
•„Most Objects die young.“
•Erstes Paper von Lieberman und Hewitt 1983
•Basiert auf Heuristiken
![Page 41: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/41.jpg)
Funktion
jüngste Generation ältere Generation älteste Generation
inter-generationalPointer
![Page 42: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/42.jpg)
Inter-generational Pointers
•Write Barrier (Schreibzugriff teuer)
•Entry tables (Lesezugriff teuer)
![Page 43: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/43.jpg)
Inter-generational Pointers
•Write Barrier (Schreibzugriff teuer)
•Entry tables (Lesezugriff teuer)
![Page 44: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/44.jpg)
Langlebige Objekte
•Durch Heuristiken erraten, welche Objekte lange leben (z.B. Programmcode in Alice)
•Diese Objekte bereits zu Beginn in ältester Generation speichern
![Page 45: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/45.jpg)
Einsatzgebiete
•Als Weiterentwicklung von Copying GC gleiche Einsatzgebiete
•Eingesetzt in z.B. Java, Alice
•Ungeeignet für kleinere Systeme
![Page 46: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/46.jpg)
Probleme
•Gleiche Probleme wie Copying GC, aber Problem mit Lebensdauer gelöst
![Page 47: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/47.jpg)
Ausblick
•Incremental GC
•Region-based memory management
•Statische Analyse der Lebensdauer
![Page 48: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/48.jpg)
Gliederung
•Grundlagen
•Copying Garbage Collection
•Generational Garbage Collection
•Ausblick
![Page 49: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/49.jpg)
Literatur
•Gargage Collection, Richard Jones & Rafael Lins
•Concepts in Programming Languages, John Mitchell
•A Nonrecursive List Compacting Algorithm, C.J. Cheney
•Simple Generational Garbage Collection and Fast Allocation, Andrew W. Appel
•Generation Scavenging, David Ungar
![Page 50: Garbage Collection Maik Theisen Betreuer: Guido Tack Proseminar Programmiersysteme – WS 03/04 Prof. Dr. Gert Smolka Programming Systems Lab, Universität.](https://reader036.fdocuments.in/reader036/viewer/2022062622/55204d6449795902118ba66f/html5/thumbnails/50.jpg)
Scheduling
•Ziel: Reduzierung der Pausezeiten
•GC durchführen, wenn User nicht gestört wird, z.B. beim Warten auf I/O
•Ungeeignet für Echtzeitsysteme
•Key Objects (z.B. Wurzel von Bäumen)