Estudio de un recolector de memoria basado en regiones
Loading...
Download
Official URL
Full text at PDC
Publication date
2006
Advisors (or tutors)
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citation
Abstract
El lenguaje Java utiliza una herramienta muy útil para el programador: el
recolector de basura, que hace que no nos tengamos que preocupar de tareas como
liberar memoria. El problema es que en un sistema de tiempo real no se puede
detener el control del programa para un algoritmo tan costoso en tiempo como es
el del colector de basura. Una alternativa es la propuesta por la especificación de
tiempo real para Java; The Real-Time Specification for Java (RTSJ), que propone
un modelo basado en regiones, agrupando objetos con tiempo de vida similar.
Nuestro proyecto se centra en el estudio del modelo de regiones scoped
propuesto por RTSJ como alternativa al recolector de basura. Las regiones
aparecen de forma explícita en el programa y se recogen de forma implícita. Dado
que estas regiones se pueden anidar y que la vida de las mismas depende del flujo
del programa, RTSJ define unas reglas de asignación para tratar las relaciones que
se pueden producir entre objetos en diferentes regiones.
Estas reglas hacen que RTSJ presente un modelo de programación
complicado y poco familiar para el programador, condiciones de carrera en la
ejecución de los programas y una ejecución de programas no predecible en
tiempo. Para intentar solucionarlos se han propuesto varios modelos alternativos.
En este proyecto analizaremos estos problemas proponiendo soluciones.
Dado que se presentan varias soluciones, explicaremos las características de cada
una de ellas y las ventajas y desventajas que tienen respecto al modelo original
(e.d. RTSJ). También hemos desarrollado una aplicación que muestra una
simulación del comportamiento de los modelos propuestos frente a distintas
situaciones.
[ABSTRACT]
The Java language use a useful tool for the programmer: the garbage
collector, and it does that we don’t get worried about tasks like to free memory.
The problem is that in a real-time system we can’t stop the program control for an
algorithm so costly in time like the garbage collector algorithm. The Real-Time
Specification for Java (RTSJ) proposes a choice: a model based in regions, that it
groups objects with similar lifetime.
Our project is centred on the study of the scoped memory region model,
proposed by RTSJ like an alternative to the garbage collector. The regions appear
explicitly and they are collected implicitly. Given that this regions can be nestted
and their lifes depend on program flow, RTSJ define some assignament rules for
the connections between objects in differents regions.
This rules make that RTSJ present an unifamiliar programming model that
makes it difficult and tedious for the programmer, race carrier conditions on
program execution and a non time-predictable execution programs. In order to
solve these problems several alternative models are been seggested.
In this project we will analyze this problems and we will propose
solutions. Given that we present some solutions, we will explain the characteristic
of each of them and its advantages and disadvantages with the RTSJ model.
Furthermore we are developed an application that it shows a simulation of the
behavior of each propose model in differents situations.
Description
Trabajo de la asignatura Sistemas Informáticos (Facultad de Informática, Curso 2005-2006)