Na implementação da segmentação, após o sistema ter executado por um tempo, a memória estará dividida em regiões, algumas com segmentos e outras com lacunas. Esse fenômeno, chamado de fragmentação externa (ou checkerboarding), desperdiça memória nas lacunas. Assinale a técnica para contornar a fragmentação externa, que move todos os segmentos que se encontram acima de um buraco de modo a ocupar o seu espaço.
- A)Compactação.
Correta: compactação realoca os segmentos para eliminar os buracos e reduzir a fragmentação externa.
- B)Compensação de Buracos.
Errada: "compensação de buracos" não é a técnica clássica reconhecida para esse problema em segmentação.
- C)Último Assentamento (Last Fit).
Errada: Last Fit é uma política de alocação, não uma técnica para reorganizar a memória e eliminar fragmentação externa.
- D)Melhor Assentamento (Best Fit).
Errada: Best Fit também é política de escolha de espaço, mas não remove os buracos já existentes.
- E)Primeiro Assentamento (First Fit).
Errada: First Fit apenas escolhe o primeiro espaço disponível, sem resolver a fragmentação externa.
Gabarito: A
Na segmentação, a memória pode ficar "picotada" em vários pedaços: alguns ocupados por segmentos e outros vazios. Esse espaço perdido entre os blocos ocupados é a chamada fragmentação externa, ou checkerboarding. Ou seja, a memória até existe, mas não está em um bloco contínuo grande o suficiente para acomodar novos segmentos, e aí começa a dor de cabeça do sistema. A técnica clássica para contornar esse problema é a compactação. Ela reorganiza os segmentos na memória, deslocando-os para eliminar os buracos e juntar os espaços livres em uma área contígua. A ideia da questão é justamente essa: mover os segmentos que estão acima de um buraco para ocupar esse espaço e reduzir a fragmentação externa. Na prática, a compactação pode ter custo alto, porque exige movimentar conteúdo de memória e atualizar referências. Mesmo assim, em teoria de SO ela é a resposta padrão quando o assunto é fragmentação externa em segmentação. Então, o gabarito A está correto porque descreve exatamente o processo de compactar a memória para "varrer" os buracos e reorganizar os segmentos. Não há fundamento legal aqui; é conteúdo clássico de doutrina de Sistemas Operacionais, como visto em autores de memória virtual e gerenciamento de memória.