La gestión de memoria dinámica es uno de los puntos más importantes dentro
de la implementación de java. Una vez que se ha almacenado un objeto en
tiempo de ejecución, el sistema hace un seguimiento del estado del objeto, y en
el momento en que se detecta que no se va a volver a utilizar ese objeto, el
sistema recupera el espacio ocupado de memoria para un uso futuro. Esta
gestión de la memoria dinámica hace que la programación en Java sea más
fácil, ya que el usuario no se debe preocupar de liberar el espacio ocupado por
los objetos (el equivalente de las funciones dispose en Pascal y free en C).
En este proyecto se estudian alternativas a las técnicas clásicas del reciclaje de
memoria con el fin de buscar una solución óptima compatible con la ejecución
de las aplicaciones de tiempo real crítico.
Proponemos distintos modelos basados todos en el uso del paradigma de una
región de memoria adicional introducida por RTSJ (Java para Tiempo Real): la
región Scoped. Las distintas formas de tratar estas regiones modelizarán las
reglas de comportamiento del programa y el modelo de programación, teniendo
cada una ciertas ventajas y desventajas aquí analizadas.
Una aproximación a una ejecución bajo modelos propuestos estará simulada
mediante una aplicación desarrollada en lenguaje Java, especificando las
distintas relaciones entre regiones Scoped que se establecen al crear y destruir
las regiones implicadas en la ejecución de un programa.
[ABSTRACT]
The performance of any programming language is limited both by the
compliance time of programs as his capacity to save memory with the result of
house different memory areas that interact on his execution. A basic element
here is the garbage collector, which will clear the memory of information not
necessary on every very moment.
This project is dedicated to study alternatives of this collector in order that
optimize the garbage collection of the programs.
We propose different models based on the use of a paradigm of an additional
memory area introduced by RTSJ: the Scoped Memory. The different ways of
use of these regions will represent rules behaviour of the program and the
programming model, having each one his advantages and inconvenients here
analyzed.
We estimate of the execution under the models proposed will be simulated with
an application developed on Java, specifying the relationships between Scoped
Memory stablished at the creating and deleting the regions implicated on the
application execution