Automated memory management techniques, or garbage collection, reduces the complexity and problems of manual memory management. When used properly, it will lower development costs and save time by eliminating the need to test the product for faulty memory managed code. With the size and complexity in todays systems, this is becoming increasingly crucial.
Even though this thesis addresses garbage collection in general, it is specially biased towards real-time garbage collection and an implementation to the language Timber. Timber is a reactive hard real-time language. Certain characteristics in the language will affect the choice and style of techniques chosen.
In this thesis the fundamentals of the three different garbage collection techniques are surveyed to determine if their abilities and functionalities match the demands of Timber. The fact that most, if not all, of the specific implementations that have been made are only suitable for interactive and soft real-time systems makes this task severer. Although, when these basic techniques are made incremental they become eligible for hard real-time systems, at least in theory. The garbage collection and fragmentation techniques that are used in the implementation in this thesis are chosen in perspective to the characteristics of Timber.
An implementation has been made that at least satisfies the hard real-time requirements of predictability and schedulability. When the suggested changes and modifications to the compiler is implemented, the implementation should be quite efficient.
Author: Mattsson, Johan
Source: Luleå University of Technology
Download Link: Click Here To Download This Report (PDF)
Reference URL: Visit Now