Qué hace un recolector de basura

 

Es un mecanismo implícito de gestión de memoria dentro de los lenguajes de programación de tipo semiinterpretado o interpretado, este concepto fue creado por John Macarty en el año de 1958, fue creado para evitar la limpieza manual en el lenguaje de programación LISP.

Todo programa informático utiliza una cantidad de memoria específica, cada parte realiza trabajos específicos y esta memoria está definida por el propio sistema operativo. La memoria deberá ser gestionada para:

  • Reservar espacio para su uso.
  • Liberar espacios que fueron anteriormente reservados para su uso.
  • Comprimir los espacios consecutivos y de memoria libre.
  • Tener un conteo de los espacios libres con los que se cuenta.

Habitualmente el programador adhiere una biblioteca de código que realizará todas estas tareas de forma automática, sin embargo el propio programador será el responsable de usarla adecuadamente.

La ventaja que presenta el uso del recolector será que se hace uso de la memoria de forma eficiente, liberando los espacios que no estén siendo utilizados. Algunos programadores buscan implementar el recolector de basura, como una biblioteca de código, sin embargo la mayoría de los lenguajes de programación no permiten esta acción y se hace necesario el uso de un recolector de basura de manera independiente a la biblioteca de código. La desventaja que presenta esta utilidad es que tarda un tiempo considerable en realizar la gestión, produciendo pausas que podrían provocar errores en sistemas de tiempo real.

Algunos ejemplos de lenguajes de programación más usados con recolector de basura son Java, Ruby, Camy y Oberon.

 

Sobre el artículo

Categorias: Profesiones
Ultima modificación: 03/04/2013