Detalhes bibliográficos
Ano de defesa: |
2006 |
Autor(a) principal: |
de Araújo Formiga, Andrei |
Orientador(a): |
Dueire Lins, Rafael |
Banca de defesa: |
Não Informado pela instituição |
Tipo de documento: |
Dissertação
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
por |
Instituição de defesa: |
Universidade Federal de Pernambuco
|
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: |
|
Link de acesso: |
https://repositorio.ufpe.br/handle/123456789/5181
|
Resumo: |
O gerenciamento automático da memória utilizada por um programa se tornou uma necessidade na maioria das linguagens de programação em uso atualmente, cujas implementações incluem em sua maioria um coletor de lixo para administrar a memória utilizada. Dentre as técnicas para realizar o gerenciamento automático da memória, a contagem de referências se mostra popular por uma série de vantagens, dentre elas o fato de ser uma técnica naturalmente incremental, o que evita a parada completa da computação para realizar tarefas de administração da memória. Esta natureza incremental da contagem de referências indica que o algoritmo pode ser extendido para uma versão concorrente, em sistemas multiprocessados, com facilidade. Entretanto, o problema da sincronização pode anular os ganhos de eficiência obtidos com essa extensão, inviabilizando o uso de um coletor de lixo concorrente. Nesta dissertação apresenta-se uma nova arquitetura para implementar concorrentemente o gerenciamento automático da memória baseado na contagem de referências; esta proposta está baseada em versões anteriores do algoritmo seqüencial para contagem de referências e da arquitetura para contagem de referências concorrentes, mas tem como diferencial o uso de sincronização bastante eficiente. Os resultados de testes realizados com uma implementação desta nova arquitetura indicam que, de fato, a eficiência obtida compensa o seu uso em sistemas multiprocessados |