Home
General
Staff
Contact
Partners
Alumni
Research
Areas
Projects
Papers
Books
Reports
Awards
Teaching
Lectures
Exams
B.Theses
M.Theses
PhD Theses
Go Abroad
Misc
Talks
Library
Gallery
Links
Search
Webmaster
|
System Software
| 339.022 |
2KV |
Marr |
Thu 13:45-15:15 |
Raum: HS 8 |
Begin: 08.10.2026 |
This course is a KV (combined course consisting of lectures and
project work) in which you will learn the concepts and the
implementation of various system software components such as garbage collectors,
linkers, loaders, debuggers and text editors. In addition to the
principal algorithms the course will also discuss case studies of such
programs.
The course is given in English.
It is part of the Major Subjects
Software Engineering and Computational Engineering in the Computer Science
Master programme.
The course is taught on campus. If you missed a lecture, you can watch the
video recordings from a previous semester,
but the content is gradually updated.
Moodle may have recordings of this year's lectures, too, but it's not guaranteed.
Therefore, we strongly recommend that you attend the lectures and use the interactive environment to ask questions.
Contents
- Memory Management
- Garbage Collection
- Linkers and Loaders
- Debuggers
- Text Editors
Assessments: Exam and Project
Exam
The written exam will be on Thursday, December 10, 2026. Please register via KUSSS.
The room(s) will be announced on December 9 on ssw.jku.at.
To pass the course, you will have to complete the project. The final mark will be computed from
the exam (90 points) and from the project (15 points).
Project
The project briefs will be released after completing the corresponding lectures.
Traditionally, the topics of the projects are a garbage collector, debugger, or text editor.
The project is to be submitted on Moodle before January 13, 2027 23:59 (TBC) Linz time.
The project must also be presented on January 14, 2027 (TBC) between 12:00 and 16:00.
Later in the term, we'll ask you to register for a time slot to present your project.
Specific time slots will be either in person, or on Zoom.
Downloads
- The slides can be downloaded from the Moodle page of this course.
- Source code of the prototype editor
Literature
Books
- Jones, R., Hosking, A., Moss, E.: The Garbage Collection Handbook. CRC Press, 2012
- Jones R., Lins R.: Garbage Collection. Algorithms for Automatic Dynamic Memory Management. Wiley, 1996.
- Venners B.: Inside the Java Virtual Machine. McGraw-Hill 1999. www.artima.com/insidejvm/ed2/
- Kokosa, K.: Pro .NET Memory Management. Apress 2018.
- Levine J.R.: Linkers & Loaders. Morgan Kaufmann, 2000.
- Rosenberg J.B.: How Debuggers Work. Algorithms, Data Structures, and Architecture. Wiley, 1996.
Papers
Garbage Collection
- General
- Reference counting
- Collins, G. E: A method for overlapping and erasure of lists. Communications of the ACM 3, 12 (Dec 1960), 655-657
- Mark & Sweep
- McCarthy, J.: Recursive functions of symbolic expressions and their computation by machine. Communications of the ACM 3 (1960), 184-195.
- Schorr, Waite: An efficient machine-independent procedure for garbage collection in various list structures. Communications of the ACM (August 1967), 501-505
- Stop & Copy
- Cheney C.J.: A Nonrecursive List Compacting Algorithm. Communications of the ACM, 13(119):677-678, November 1970
- Generation Scavenging
- Ungar, D.: Generation scavenging: A nondisruptive high performance storage reclamation algorithm. ACM SIGPLAN Notices 19, 5 (May 1984) and ACM Software Engineering Notes 9, 3 (May 1984).
- Appel A.W.: Simple Generational Garbage Collection and Fast Allocation. Software Practice and Experience, 1988
- Ungar, D., Jackson, F.: An adaptive tenuring policy for generation scavengers. ACM Transactions on Programming Languages and Systems 1, 1 (January 1992), 1-27
- Pointer tables and conservative garbage collection
- Agesen O., Detlefs D.L.: Finding References in Java Stacks. OOPSLA’97 Garbage Collection and Memory Management Workshop. Atlanta, GA, October 1997. citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.47.6924.
- Boehm H.J., Weiser M.: 1988. Garbage collection in an uncooperative environment. Software -- Practice and Experience. 18(9):807-820
- Diwan A., Moss E., Hudson R.: Compiler Support for Garbage Collection in a Statically Typed Language. Proceedings PLDI'92, p. 273-282, San Francisco, CA, June 1992.
- Safepoints
- Miscellaneous
- Detlefs D., Printezis T.: A Generational Mostly-Concurrent Garbage Collector. Intl. Symp. on Memory Management (ISMM), 2000, 143-154. dl.acm.org/citation.cfm?id=362480
- Deutsch, L P., Bobrow, D. G.: An efficient incremental automatic garbage collector. Communications of the ACM 19,9 (Sept. 1976),522-526.
- Lieberman, H, Hewitt, C. A real-time garbage collector based on the lifetimes of objects. Communications of the ACM 26, 6 (June 1983), 419-429.
Linkers, Loaders
Debuggers
Text Editors
|