sexta-feira, 14 de dezembro de 2007

Garbage Collection (Coleta de lixo)

Estou postando o meu projeto de graduação, para quem não leu no meu perfil me formei em Ciência da Computação pela Universidade Católica de Pelotas em Novembro/2007. Segue abaixo o resumo da minha monografia, segue o link para fazer download da monografia e também o link para fazer download do simulador do algoritmo de cópia de coleta de lixo.

Resumo

Muitas linguagens de programação modernas como Java, C#, Smalltalk, entre outras, provêem o que chamamos de coleta de lixo. Coleta de lixo (JONES; LINS, 1996) é uma forma automática de realizar o gerenciamento da memória afim de desalocar automaticamente objetos inacessíveis. Podemos dizer que objetos inacessíveis são objetos que não possuem referência direta do programa em execução, ou referência indireta de outros objetos alocados na memória.

Para realizar a coleta de lixo, são usados alguns algoritmos que fazem a detecção e desalocação dos objetos inacessíveis na memória. O comportamento desses algoritmos é o maior gargalo na maioria das aplicações de vida longa. Segundo Helder (ROCHA, 2005), em média, de 2% a 20% do tempo de execução de uma aplicação típica em Java é gasto com coleta de lixo. Então, conhecer os detalhes do funcionamento dos algoritmos de coleta de lixo é de suma importância para saber como ajustá-los para melhorar a eficiência de um sistema.

O objetivo central deste Projeto de Graduação é estudar os algoritmos de coleta de lixo existentes e desenvolver um simulador, na linguagem Java para demonstrar, de maneira gráfica, como funciona o algoritmo de cópia. Como hoje em dia a maioria das linguagens de programação consideradas modernas provê coleta de lixo automática e o custo extra do gerenciamento manual de memória acaba tornando os sistemas mais difíceis de desenvolver e manter, este projeto torna-se muito importante para que alunos graduandos do curso de ciência da computação usem-no como um complemento para o estudo de compiladores, bem como o estudo de linguagens de programação.

Monografia: http://paginas.ucpel.tche.br/~marcosge/monografia.pdf

Simulador: http://paginas.ucpel.tche.br/~marcosge/Memoria.jar

Um comentário:

Anônimo disse...

404 Not FOUND! :(