Questão de Sistemas Operacionais — Gerência de Memória (Paginação, Virtual, etc.) — CESPE / CEBRASPE 2024
- Código
- ce404116
- Banca
- CESPE / CEBRASPE
- Órgão
- CTI
- Ano
- 2024
- Cargo
- Tecno P1 ( )
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: letra C (CERTO). A afirmativa está correta: quando não há espaço suficiente na RAM, os sistemas operacionais utilizam a memória virtual, que permite realocar dados da memória principal para a memória secundária (como o disco rígido), criando a ilusão de uma memória maior do que a fisicamente disponível. Esse é o conceito central da memória virtual, que desvincula o endereçamento feito pelos programas dos endereços físicos da RAM.
A memória virtual é uma técnica de gerenciamento de memória que combina a memória principal (RAM) com a memória secundária (disco rígido, SSD, etc.) para dar aos programas a ilusão de que há muito mais memória disponível do que a fisicamente existente. Isso é possível porque o sistema operacional, com auxílio do hardware, traduz os endereços virtuais usados pelos programas em endereços físicos, e quando um dado não está na RAM, ele é buscado na memória secundária. Essa técnica tem três funções básicas: realocação (cada processo tem seu próprio espaço de endereçamento), proteção (impede que um processo acesse memória de outro) e paginação/troca (permite que uma aplicação use mais memória do que a fisicamente existente).
Na prática, quando um programa precisa de dados que não estão na RAM, o sistema operacional escreve o conteúdo de um bloco de memória inativo para o disco (se necessário) e substitui na memória com os dados requisitados. Esse mecanismo é conhecido como paginação por demanda. O disco rígido é mais lento que a RAM, então o uso de memória virtual pode causar queda de desempenho, mas é essencial para executar programas maiores que a memória física disponível.
É importante distinguir a memória virtual do swapping. No swapping, um processo inteiro é copiado da memória para o disco e retirado da fila do processador, sendo posteriormente copiado de volta. Já a memória virtual, por meio da paginação, trabalha com partes menores (páginas) e permite que apenas as partes mais utilizadas do processo estejam na memória, enquanto o restante fica no disco. A afirmativa da questão descreve corretamente o uso da memória virtual para realocar dados da memória principal para a secundária quando a RAM é insuficiente.
A pegadinha que a banca poderia explorar é confundir memória virtual com outros conceitos, como cache ou swapping. A memória cache é uma memória de alta velocidade entre a CPU e a RAM, usada para acelerar o acesso a dados frequentemente utilizados, e não para expandir a memória principal. O swapping, como visto, move processos inteiros, enquanto a memória virtual move páginas. A afirmativa está alinhada com o conceito de memória virtual, que é exatamente a técnica que permite ao sistema operacional usar a memória secundária como extensão da RAM.
A afirmativa está correta porque descreve com precisão o funcionamento da memória virtual. Quando a RAM é insuficiente, o sistema operacional utiliza a memória secundária (disco rígido, SSD) para armazenar dados que não cabem na memória principal, realocando-os conforme necessário. Isso é feito por meio da paginação, que divide a memória em páginas e permite que apenas as páginas em uso estejam na RAM, enquanto as demais ficam no disco. O texto do enunciado — "Caso não exista espaço suficiente na RAM, os sistemas operacionais utilizam a memória virtual, realocando dados da memória principal para a memória secundária" — é uma definição correta e direta do conceito.
Para questões sobre memória virtual, lembre-se da tríade: realocação (cada processo tem seu espaço de endereçamento), proteção (isolamento entre processos) e paginação/swapping (uso da memória secundária como extensão da RAM). A banca costuma cobrar a função de paginação, que é a mais conhecida, e pode tentar confundir com cache ou com o conceito de swapping de processos inteiros.
Gabarito: letra C (CERTO).
Link permanente: /questoes/ce404116