SóProvas


ID
2743174
Banca
FGV
Órgão
MPE-AL
Ano
2018
Provas
Disciplina
Sistemas Operacionais
Assuntos

A implementação de linguagens de programação em geral depara-se com a questão do gerenciamento de memória.
Nesse contexto, assinale a opção que melhor descreve o que é conhecido como “memory leak”.

Alternativas
Comentários
  • Memory leak, ou vazamento de memória, é um fenômeno que ocorre em sistemas computacionais quando uma porção de memória, alocada para uma determinada operação, não é liberada quando não é mais necessária.

     

    https://pt.wikipedia.org/wiki/Vazamento_de_memória

  • Gabarito B

    Memory Leak, ou Vazamento de Memória, é um problema comum entre desenvolvedores de Software, que geralmente ocorre quando um sistema aloca espaços de memória da máquina para executar suas operações, porém, ao finalizar a execução destas operações, este sistema não consegue liberar toda a memória alocada. Este espaço de memória alocado, por não ter sido liberado, não pode mais ser utilizado pelo sistema operacional até que o software que alocou esta memória seja finalizado. Em casos extremos, problemas de vazamento de memória podem consumir toda a memória disponivel no sistema operacional, causando o travamento da máquina na qual o software está sendo executado.

    As linguagens de programação mais suscetíveis a erros como este são as que não implementam um recurso conhecido como Garbage Collector, que é responsável pelo gerenciamento automático de memória e liberação objetos que estão alocados em memória e não estão mais sendo utilizados.

    Como corrigir este problema?

     

    Por ser um tipo de erro silencioso, já que nenhuma falha é exibida até que a memória do sistema operacional seja toda consumida, o desenvolvedor deve ter um cuidado adicional com este tipo de erro.

    Cada linguagem de programação possui ferramentas específicas para auxiliar o desenvolvedor a identificar e resolver problemas deste tipo. Por exemplo:

    Delphi: FastMM, MadExcept ou EurekaLog;

    Java: Java implementa o recurso de Garbage Collector, porém também existem ferramentas como o Plumbr para ajudar na detecção e correção de memory leaks.

    C#: C# também implementar o Garbage Collector e possui ferramentas como MemProfiler ou DotTrace.

     

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • Irei comentar a alternativa correta:

    Memory leak é a impossibilidade de liberar a memória ocupada por objetos que se tornaram inalcançáveis.

    Como assim inalcançáveis? Simples, pode ser que por algum esquecimento na aplicação, não tenha nenhum ponteiro apontando para uma determinada área da memória.

    Referência: PDF do estratégia.