]> git.llucax.com Git - z.facultad/75.00/informe.git/blob - source/resumen.rst
Terminar capítulo Recolección de basura en D
[z.facultad/75.00/informe.git] / source / resumen.rst
1
2 .. Resumen del trabajo
3    ESTADO: TERMINADO
4
5
6 .. _resumen:
7
8 Resumen
9 ============================================================================
10
11 **RESUMEN**
12
13 El problema del manejo de memoria ha sido un factor clave en los lenguajes de
14 programación desde que empezaron a forjarse los primero lenguajes con un
15 mínimo nivel de abstracción, dado que la administración de memoria explícita
16 ha sido un flagelo constante en el mundo de la informática, provocando
17 pérdidas de memoria que degradan la eficiencia de programas de larga vida
18 y siendo la principal fuente de problemas de seguridad, entre otros problemas.
19
20 Es por esto que se desde la primera aparición de lenguajes de más alto nivel,
21 se buscó abstraer al programador de administrar la memoria explícitamente,
22 desarrollando un área de investigación por mérito propio denominada
23 **recolección de basura** (o *garbage collection* en inglés). Se trata de un
24 servicio provisto (generalmente por el lenguaje) que permite auto-detectar
25 cuando una celda de memoria ha dejado de ser utilizada por el programa para
26 poder ser reciclada en el futuro, liberando al programador de llevar cuenta
27 del tiempo de vida de una celda y su liberación explícita cuando ésta deja de
28 utilizarse.
29
30 D es un lenguaje de programación multi-paradigma, que soporta programación de
31 bajo nivel pero provee construcciones de muy alto nivel también, incluyendo un
32 *recolector de basura*. Dadas las amplias y variadas características del
33 lenguaje, D propone un nuevo desafío en cuanto al diseño de un recolector de
34 basura, y si bien D ya cuenta con un recolector que hace lo necesario para
35 funcionar de forma aceptable, su diseño e implementación son relativamente
36 sencillas comparadas con el estado del arte de la recolección de basura en
37 general.
38
39 El objetivo de este trabajo es explorar los problemas del recolector de basura
40 actual, evaluar cuales son de mayor importancia para la comunidad, analizar la
41 viabilidad de algoritmos y optimizaciones para mejorarlo, implementar la
42 solución y proveer todos los elementos necesarios para que la solución pueda
43 ser adoptada por el lenguaje. Esto último es de vital importancia para este
44 trabajo: la solución tiene que tener buenas probabilidades de ser aceptada por
45 la comunidad de D.
46
47
48 .. vim: set ts=3 sts=3 sw=3 et tw=78 :