Questão de Sistemas Operacionais — Gerência de Memória (Paginação, Virtual, etc.) — VUNESP 2023
Sistemas Operacionais›Gerência de Memória (Paginação, Virtual, etc.)
Código
vu196640
Banca
VUNESP
Órgão
EsFCEx
Ano
2023
Cargo
CFO/QC ( )
Um problema antigo associado a sistemas operacionais é o tratamento de programas maiores do que a memória principal do computador. Sobre esse problema é correto afirmar que no método conhecido como Memória Virtual, empregado para superar esse problema,
Ao programa é armazenado completamente em memória na nuvem, a partir da qual é executado, superando-se a limitação de memória do computador.
Bcada programa possui o seu próprio espaço de endereçamento, que é dividido em blocos chamados de páginas.
Co programa é carregado completamente na memória cache do computador, no qual permanece até a sua execução ser completada.
Do programa fica carregado em um disco com capacidade adequada e nele é diretamente executado.
Etodas as páginas associadas a um programa precisam estar carregadas na memória física para que ele possa ser executado.
Revelar gabarito e comentário▾
GabaritoB — cada programa possui o seu próprio espaço de endereçamento, que é dividido em blocos chamados de páginas.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Memória Virtual: o espaço de endereçamento dividido em páginas
Gabarito: letra B. No método de Memória Virtual, cada programa possui seu próprio espaço de endereçamento, que é dividido em blocos de tamanho fixo chamados de páginas — é exatamente essa a definição central da técnica de paginação, a forma mais comum de implementar memória virtual. As demais alternativas descrevem conceitos incorretos ou de outras áreas (nuvem, cache, execução direta em disco).
A memória virtual é uma técnica de gerenciamento de memória que permite que um programa seja executado mesmo quando seu tamanho total excede a memória física (RAM) disponível. O problema que ela resolve é antigo: programas maiores que a memória principal do computador. Em vez de carregar o programa inteiro na RAM, o sistema operacional divide o espaço de endereçamento virtual do processo em unidades de tamanho fixo chamadas páginas, e a memória física em unidades do mesmo tamanho chamadas quadros de página (page frames). Apenas as páginas que estão sendo efetivamente usadas no momento precisam estar na memória física; as demais permanecem no disco (área de troca ou arquivo de paginação).
O funcionamento prático é o seguinte: quando o programa tenta acessar um endereço virtual, a Unidade de Gerenciamento de Memória (MMU) traduz esse endereço para um endereço físico consultando a tabela de páginas. Se a página referenciada não estiver na memória física, ocorre um page fault (falha de página), e o sistema operacional busca a página do disco para a memória, possivelmente escrevendo de volta uma página não utilizada. Esse mecanismo é chamado de paginação por demanda. Um exemplo clássico: um programa que ocupa 64 MiB pode ser executado em um computador com apenas 32 MiB de RAM, desde que o sistema operacional mantenha na memória apenas as partes necessárias à execução corrente.
A distinção que importa aqui é entre memória virtual e outros conceitos vizinhos: a memória cache é uma memória de alta velocidade entre a CPU e a RAM, que armazena cópias de dados frequentemente acessados — não é onde o programa inteiro fica carregado. A computação em nuvem é um modelo de fornecimento de recursos computacionais pela internet — não tem relação com a execução local de um programa. E a execução direta a partir do disco, sem carregar na memória, não é como a memória virtual funciona: o disco é usado como armazenamento secundário das páginas, mas a execução sempre ocorre com as páginas na memória física.
A pegadinha que a banca explora neste tema é justamente a confusão entre os diferentes níveis de memória e tecnologias: o candidato que não domina o conceito de paginação pode ser atraído por alternativas que mencionam nuvem, cache ou execução em disco, que são conceitos reais, mas não correspondem ao mecanismo da memória virtual. Guarde a fronteira: memória virtual = espaço de endereçamento próprio por processo, dividido em páginas, com apenas as páginas em uso na memória física — é exatamente nessa definição que as alternativas se dividem.
Memória virtual
1Espaço de endereçamento próprio por processo
Dividido em páginas (tamanho fixo)
Mapeadas para quadros na memória física
2Paginação por demanda
Só páginas em uso na RAM
Demais no disco (área de troca)
Page fault → busca do disco
3Confusões comuns (pegadinhas)
Cache: alta velocidade entre CPU e RAM
Nuvem: computação remota
Execução direta do disco: não existe
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Afirma que o programa é armazenado completamente em memória na nuvem e executado a partir dela. Isso mistura dois conceitos distintos: a memória virtual é uma técnica local de gerenciamento de memória do sistema operacional, enquanto a nuvem é um modelo de computação remota. Na memória virtual, o programa não é executado a partir da nuvem; ele é executado localmente, com páginas carregadas do disco para a RAM conforme necessário.
Alternativa B — ✅ Correta ⟵ GABARITO
Esta é a definição correta da memória virtual com paginação. Cada processo possui seu próprio espaço de endereçamento virtual, que é dividido em blocos de tamanho fixo chamados páginas. Essas páginas são mapeadas para quadros de página na memória física, e apenas as páginas em uso precisam estar carregadas. O texto da alternativa espelha exatamente o conceito: "cada programa possui o seu próprio espaço de endereçamento, que é dividido em blocos chamados de páginas".
Alternativa C — ❌ Incorreta
Afirma que o programa é carregado completamente na memória cache e permanece lá até a execução terminar. Isso confunde memória virtual com memória cache. A cache é uma memória de alta velocidade que armazena cópias de dados frequentemente acessados, mas não é onde o programa inteiro é carregado — e a memória virtual, por definição, não carrega o programa completo em nenhuma memória, apenas as páginas em uso.
Alternativa D — ❌ Incorreta
Afirma que o programa fica carregado em um disco e é diretamente executado nele. Isso é incorreto: o disco é usado como armazenamento secundário para as páginas que não estão na memória física, mas a execução sempre ocorre com as páginas na memória RAM. O processador não executa instruções diretamente do disco; elas precisam estar na memória física.
Alternativa E — ❌ Incorreta
Afirma que todas as páginas associadas a um programa precisam estar carregadas na memória física para que ele seja executado. Isso é exatamente o oposto do que a memória virtual faz: apenas as páginas em uso no momento precisam estar na memória física; as demais permanecem no disco. Se todas as páginas precisassem estar carregadas, a memória virtual não resolveria o problema de programas maiores que a memória principal.