Conclusion
As it is the case for other programming languages and execution
environment, designing and implementing a garbage collector suitable
to the use of the Java language in embedded systems is not an easy
task. It requires a deep analysis of numerous factors ranging from
the hardware in use to the dynamic of the application to run on the
embedded system. A Java runtime capable of instrumenting the memory
allocation patterns coupled with the possibility of a pluggable
garbage collector seem to be attractive enough, so that several player
in the field are seriously considering it as a solution. With more
time spent studying the memory allocations behavior of embedded
applications written in Java, we might in the future see the emergence
of a collection of ready-to-use garbage collector algorithm that
embedded system developers will be able to directly incorporate into
their design.
Alexandre Petit-Bianco works for Cygnus Solutions on
a gcc-based Java compiler intended for use in developing embedded
systems. He can be reached at apbianco@cygnus.com
Java and the Java language are trademarks of Sun
Microsystems.
[1] R. Jones, R. Lins, Garbage Collection, Algorithms for Automatic
Dynamic Memory Management. Wiley, 1996.
[2] P. Wilson, Uniprocessor Garbage Collection Techniques.
University of Texas, Computer Science department, 1996.
[3] M. Wallace, C. Runciman, An incremental garbage collector for
embedded real-time systems. Proceedings of Chalmers Winter
Meeting, June 1993.
[4] P. Wilson, M. Johnstone, Real-Time Non-Copying Garbage
Collection. ACM OOPSLA Workshop on Memory Management and Garbage
Collection, 1993.
[5] H. Baker, List processing in real-time on a serial
computer. Communications of the ACM, 21(4):280-94, 1978.
[6] E. W. Dijkstra, L. Lamport, A. J. Martin, C. S. Scholten, and
E. F. M. Steffens. On-the-fly garbage collection: An exercise in
cooperation. Communication of the ACM, 21(11):965-975, November
1978.
|