Questão nº 67
Questão de TI - Soluções · FGV EPE 2024 (nº 67)
Com relação ao algoritmo de garbage collection (coleta de lixo) chamado mark-sweep (ou mark-and-sweep), analise as afirmativas a seguir.
I. Na fase de marcar (mark), o coletor percorre o grafo de objetos e marca todos aqueles que são alcançáveis.
II. Na fase de varrer (sweep), a memória ocupada pelos objetos marcados (na fase de marcação) é liberada.
III. Os objetos marcados (na fase de marcação) são realocados.
Está correto o que se afirma em
- AI, apenas. (alternativa correta)
- BI e II, apenas.
- CI e III, apenas.
- DII e III, apenas.
- EI, II e III.
Resposta comentada
Gabarito Alternativa A
Garbage Collection (GC) é um processo automático que libera memória que não está mais sendo usada por um programa. O algoritmo Mark-Sweep faz isso em duas fases: primeiro, identifica o que está sendo usado (mark), e depois remove o que não está (sweep).
(A) Correta: Na fase de marcar (mark), o coletor começa de um conjunto de raízes (variáveis globais, pilhas de execução) e percorre todos os objetos que podem ser alcançados a partir dessas raízes, marcando-os como 'em uso'.
(B) Incorreta: Na fase de varrer (sweep), a memória ocupada pelos objetos NÃO marcados (aqueles que não são alcançáveis e, portanto, são lixo) é que é liberada. A armadilha aqui é inverter o que é liberado.
(C) Incorreta: Objetos marcados são aqueles que estão em uso e, portanto, não são liberados. Além disso, o algoritmo Mark-Sweep básico não realoca objetos; a realocação (compactação) é uma característica de algoritmos como Mark-Compact.
(D) Incorreta: A fase de varrer libera objetos não marcados, e o Mark-Sweep não realoca objetos.
(E) Incorreta: Apenas a afirmativa I está correta.
Fonte: FGV EPE 2024 Analista de Gestão Corporativa - TI - Soluções (Caderno Tipo 1). Reproduzida para fins de estudo.