Studium, Ausbildung und Beruf

web uni-protokolle.de
 powered by
NachrichtenLexikonProtokolleBücherForenMittwoch, 26. November 2014 

Garbage-Collection


Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier.
Garbage-Collection ( GC ) (englisch wörtlich deutsch: Mülleinsammeln ) oder Speicherbereinigung (auch Freispeichersammlung ) ist ein Fachbegriff aus der Softwaretechnik .

Er steht für ein Verfahren zur automatischen Wiederverfügbarmachung von nicht mehr benötigtem Speicher anderen Betriebsmitteln indem nicht mehr erreichbare Objekte Speicher automatisch freigegeben werden.

Inhaltsverzeichnis

Zweck

Eine Garbage-Collection verringert die Gefahr von kann sie aber - entgegen einer weitverbreiteten - nicht völlig ausschließen: Wenn irgendwo noch auf eigentlich nicht mehr gebrauchte Objekte existieren die Garbage-Collection diese nicht als unbenutzt erkennen.

Eine Garbage-Collection kann auch die Ausführungsdauer Programmläufen verringern. Grund dafür ist die Zusammenfassung Freigabeoperationen.

Verwendung

In vielen Softwaresystemen wird Speicherplatz 'bei Bedarf' reserviert um Angaben zu einem Datenobjekt zu speichern. Wird Abarbeitung eines Programmteils das Objekt nicht mehr so sollte der Platz für das Objekt wieder verfügbar gemacht werden. Diese Aufgabe erledigt Garbage-Collector genannte Routine automatisch ohne dass ein Programmierer hier explizit dran denken müsste.

Einige ältere ( APL LISP ) und viele moderne Programmiersprachen haben eine Garbage-Collection bereits in der Sprachdefinition. Für Programmiersprachen C bei denen die Programmierer die Speicherverwaltung Hand" besorgen müssen existieren Bibliotheken die die implementieren.

Funktionsweise

Die Speicherbereinigung funktioniert indem von bekanntermaßen benutzten Objekten ausgehend allen Verweisen auf andere gefolgt wird. Auf diese Weise werden alle benutzten Objekte gefunden und markiert. Anschließend werden nicht auf diese Weise gefundenen Objekte gelöscht.

Ein besonderes Problem konventioneller Freispeichersammlung mit liegt in so genannten zyklischen Referenzen bei denen Objekte Referenzen aufeinander halten sonst von keinem Konsumenten im System mehr werden. Nehmen wir beispielsweise an Objekt A eine Referenz auf Objekt B und umgekehrt der Rest des Systems ihre Dienste nicht benötigt. Somit verweisen beide Objekte gegenseitig ( zyklisch ) aufeinander weshalb der Garbage-Collector nicht ohne weiteres erkennen kann dass nicht mehr benutzt werden. Die Folge hiervon dass der Speicher somit für die Dauer Programmausführung belegt bleibt. Es gibt unterschiedliche Möglichkeiten Situationen zu erkennen und es existieren einige Algorithmen die solche Situationen erkennen und auflösen

Weblinks



Bücher zum Thema Garbage-Collection

Dieser Artikel von Wikipedia unterliegt der GNU FDL.

ImpressumLesezeichen setzenSeite versendenSeite drucken

HTML-Code zum Verweis auf diese Seite:
<a href="http://www.uni-protokolle.de/Lexikon/Speicherbereinigung.html">Garbage-Collection </a>