Mesmo a gerência de memória garantindo a proteção de ...
No texto acima, o mecanismo de compartilhamento descrito é conhecido como alocação
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a D - particionada dinâmica.
A questão aborda um conceito importante da gerência de memória em sistemas operacionais, que é a forma como a memória é alocada para os processos. O enunciado menciona um mecanismo que elimina o conceito de partições de tamanho fixo e, com isso, evita o problema da fragmentação interna. A fragmentação interna ocorre quando há espaço desperdiçado dentro das partições de memória, devido ao fato de que o tamanho fixo das partições pode não ser completamente utilizado pelo processo.
Por outro lado, o mecanismo mencionado no enunciado introduz o problema da fragmentação externa. A fragmentação externa acontece quando há espaço livre entre as partições alocadas, mas esses espaços livres são pequenos demais para serem utilizados por novos processos, mesmo havendo memória disponível total suficiente.
Na alocação particionada dinâmica, as partições de memória são criadas de forma dinâmica, ajustando-se ao tamanho necessário para cada processo no momento de sua alocação. Disto resulta que não há desperdício de memória dentro das partições (eliminando a fragmentação interna), mas pode haver espaços não contínuos de memória livre entre as partições (resultando em fragmentação externa). Este mecanismo é mais flexível e eficiente em relação ao uso do espaço de memória disponível quando comparado com a alocação em partições de tamanho fixo.
As outras opções são incorretas porque:
- A - contígua: Refere-se a um tipo de alocação onde os processos precisam ocupar áreas contínuas de memória, mas não especifica se o tamanho é fixo ou dinâmico.
- B - contígua simples: É uma variação da resposta A e também não aborda a questão do tamanho variável das partições.
- C - contígua simples com overlay: Embora o overlay seja uma técnica que permite o uso eficiente da memória ao carregar apenas as partes necessárias do programa, não trata do problema da fragmentação.
- E - particionada estática: Implica em partições de tamanho fixo, contrariando a descrição do enunciado que fala sobre a eliminação desse conceito.
Compreender esses conceitos é essencial para qualquer profissional de TI que esteja preparando-se para concursos públicos na área de arquitetura de computadores, especificamente na parte de sistemas operacionais e gerência de memória.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Resposta Correta
D - particionada dinâmica.
Explicação
A alocação de memória particionada dinâmica é um mecanismo que elimina o conceito de partições de tamanho fixo, permitindo que a memória seja alocada de forma mais flexível de acordo com as necessidades dos processos. Esse método evita o problema da fragmentação interna, que ocorre quando espaços de memória são alocados, mas não totalmente utilizados devido ao tamanho fixo das partições.
No entanto, a alocação particionada dinâmica pode levar à fragmentação externa. Isso ocorre quando a memória livre está disponível, mas não de forma contígua suficiente para satisfazer uma nova solicitação de memória. Mesmo que haja espaço total suficiente, ele está espalhado em pequenos blocos entre áreas ocupadas, dificultando a alocação de novos blocos de memória de tamanho maior.
Alternativas Incorretas
A. contígua.
- A alocação contígua refere-se à atribuição de um bloco contínuo de memória a cada processo. Isso pode causar fragmentação interna se os blocos forem maiores do que o necessário para o processo, mas a descrição no texto não se encaixa nesse conceito.
B. contígua simples.
- Similar à alocação contígua, a alocação contígua simples também sofre de problemas de fragmentação interna, que não é o foco da descrição do problema no texto.
C. contígua simples com overlay.
- Overlays são usados para permitir que programas maiores que a memória disponível sejam executados, carregando apenas partes do programa na memória conforme necessário. Isso não se relaciona diretamente com a questão da fragmentação externa mencionada no texto.
E. particionada estática.
- A alocação particionada estática divide a memória em partições fixas de tamanho predeterminado. Isso pode causar fragmentação interna, mas não resolve o problema da fragmentação externa mencionada no texto.
Contexto e Conceitos Relevantes
Fragmentação Interna:
- Ocorre quando blocos de memória são alocados, mas não totalmente utilizados devido ao tamanho fixo das partições, deixando pequenos espaços inutilizados dentro de partições alocadas.
Fragmentação Externa:
- Ocorre quando a memória livre está presente, mas não contígua o suficiente para satisfazer novas solicitações de memória. Isso resulta em muitos pequenos blocos de memória livres espalhados pela memória.
Alocação Particionada Dinâmica:
- Permite a alocação de memória de acordo com as necessidades dos processos, sem tamanho fixo de partições.
- Reduz a fragmentação interna, mas pode levar à fragmentação externa, já que os blocos de memória podem ficar espalhados pela memória livre.
Armadilhas Comuns e Equívocos
- Confundir fragmentação interna e externa: Fragmentação interna ocorre dentro das partições alocadas, enquanto a fragmentação externa ocorre na memória livre entre as partições.
- Pensar que apenas a alocação contígua pode causar fragmentação: Qualquer método de alocação que não gerencie eficientemente a memória pode levar a algum tipo de fragmentação.
Apenas contextualizando a resposta anterior do estudante.
Overlay é uma técnica antiga utilizada por cientistas para fragmentar o programa em vários overlays diferentes. Quando um overlay terminava de ser executado - semelhante ao que ocorre com um page fault -, o próximo overlay da lista se executava. Essa abordagem utiliza a técnica de swapping.
Quanto à questão de fragmentação externa e interna, acho que está bem explicado pelo estudando, mas, ao consolidar o raciocínio: interno ocorre quando o espaço alocado para um segmento é maior que o necessário para o programa, consequentemente, deixa espaços “imobilizados” - conceito de imobilizado pego emprestado da economia -; por outro lado, a fragmentação externa decorre dos espaços não alocados, que muitas vezes não são grandes o suficientes para ser um “fit” para a alocação de memória. Isto traz perda de espaço útil, também, pois os espaços são cada vez menores, o que reduz o uso efetivo de memória física.
A técnica de swapping sempre utilizará segmentos dinâmicos, enquanto a técnica de paginação utilizará frames - espaço utilizado em memória física por uma página alocada/mapeada - e páginas de tamanhos fixos.
Quanto aos endereçamentos contíguos, é apenas isso mesmo: a forma com que se reservam os endereços. Não tem direta ligação com a forma de particionamento das instruções em memória de um programa armazenado.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo