Memory Management (Proseminar)
Computer programs typically need memory to run. Often, memory has to be allocated dynamically at runtime and sometimes quite a lot of memory is needed. Memory is not infinite, however, so it usually needs to be managed appropriately by freeing memory that is no longer needed for reuse. There are various ways to accomplish this task and different tradeoffs can be made. In this proseminar, we will examine several techniques to do memory management on the application level. We will only briefly discuss memory management on the level of operating systems.
Topics include:
- Virtual memory
- Manual memory management
- Allocators
- Tracing garbace collectors
- Reference counting
- Region-based memory management
- Linearity and borrowing
- …
The course language will be German or English, depending on the participants.
Entry in the alma-system: Link
Instructors
Marius Müller
ResearcherMarius Müller (Office: Room B211)Klaus Ostermann
HeadKlaus Ostermann
Registration
If you want to participate, please send an e-mail with the following data to mari.mueller@uni-tuebingen.de:
- Matrikelnummer
- name
- Studiengang + Abschluss
- Fachsemester
- your student e-mail address
Structure
We will likely meet weekly on Thursday, 12-14 in room A104 at Sand (although this could potentially be adapted a bit if a large number of participants has conflicts with that date). Every week one participant will give a (roughly) 35-min presentation on one of the topics of this seminar with an ensuing class discussion of about 10 min led by the speaker.
Requirements
Apart from basic programming skills, it may be helpful to have attended (or attend) the lecture “Programming Languages 1”, but this is not strictly required.
First Meeting
The first meeting will take place on Thursday, 17.04.25, 12 c.t. in room A104 at Sand.