Students are able to
- explain and implement the allocation and deallocation of objects on a manually managed heap using one or several free lists (K2, K5, K6)
- explain the functionality as well as the advantages and disadvantages of common garbage collection techniques such as Reference Counting, Mark&Sweep and Stop&Copy (K2, K5)
- explain the rationale and functionality of generation scavenging as well as conservative and incremental garbage collection (K2)
- understand and explain the challenges and the functionality of linkers and loaders, especially for the Java VM (K2, K5)
- understand and explain the challenges and the functionality of dynamic debuggers (K2, K5)
- understand and explain common text data structures in a text editor such as gap texts and piece list texts (K2, K5)
- implement a small project in the area of garbage collection, debugging or text editing (K6)
|
- Memory management (mark/free, alloc/dealloc with free-lists, buddy system, memory compaction)
- Garbage collection (Reference Counting, Mark&Sweep, Mark&Compact, Stop&Copy, generation scavenging, incremental garbage collection, conservative garbage collection)
- Linkers and loaders
- Debuggers
- Text editors
|