Sobes.tech
Middle

O que é gestão de memória?

sobes.tech IA

Resposta da IA

A gestão de memória é o processo de alocação e libertação de recursos de memória RAM aos programas durante a sua execução. O objetivo é uma utilização eficiente da memória disponível e prevenir conflitos.

Tarefas principais:

  • Alocar memória mediante pedido do programa.
  • Rastrear blocos de memória ocupados e livres.
  • Libertar memória que já não é utilizada.
  • Proteger a memória contra acessos não autorizados.

Princípios:

  • Endereçamento: Converter endereços virtuais usados pelos programas em endereços físicos de memória RAM.
  • Segmentação/Paginação: Dividir a memória em blocos (segmentos ou páginas) para facilitar a gestão e proteção.
  • Alocação de memória: Diversas estratégias como First Fit, Best Fit, Worst Fit.
  • Libertação de memória (Recolha de lixo/Gestão manual): Processo automático ou manual de libertar memória não utilizada.

Exemplos:

  • Heap (Montão): Memória alocada dinamicamente, gerida pelo programador (C/C++ malloc/free) ou pelo coletor de lixo (Java, Python).
  • Stack (Pilha): Memória para variáveis locais e chamadas de funções, gerida automaticamente.

No contexto de QA / Automação de QA, compreender a gestão de memória é importante para:

  • Testes de desempenho: Detectar fugas de memória e uso ineficiente de recursos.
  • Depuração: Compreender as causas de falhas relacionadas com o acesso à memória (falhas de segmentação).
  • Automatização: Uso de ferramentas para monitorizar a memória e analisar o seu uso em ambientes de teste.