Seminar: Garbage Collection SS 2013

Abstract

Several mainstream programming languages and virtually all scripting languages offer garbage collection: a runtime facility, which identifies and reclaims memory blocks that are no longer used by the currently executing program. Still, there are many myths and prejudices concerning the overhead and shortcomings of garbage collection.

This seminar offers a sound overview of the most important approaches to garbage collection, their properties and their requirements:

  • algorithms to find and to deallocate unused storage
  • trade-offs between memory overhead and impact on execution time
  • assumptions concerning the memory allocation behavior of typical programs
  • suitability for interactive or real-time environments
  • dependence on supporting information provided by the compiler or runtime system of the language

You will get a deeper insight into the principles and inner workings of different variants of garbage collection. This will enable you to make an informed decision, when designing the memory management for a programming language implementation or for some software system. Understanding garbage collection is also helpful, to effectively program in an existing language that employs automatic memory management.

Prerequisites:

We assume basic knowledge on programming languages, especially runtime stacks and scopes of variable definitions, as taught in the lecture "Grundlagen der Programmiersprachen". Deeper knowledge in this area from the lectures like "Programming Languages and Compilers" or "Compilation Methods" is very useful.

Organizational matters:

Impressum | Webmaster | Letzte Änderungen am : 16.10.2013