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