Pular para o conteúdo principal

Questão de Sistemas Operacionais — Gerência de Memória (Paginação, Virtual, etc.) — VUNESP 2023

Sistemas OperacionaisGerê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,
  1. Ao programa é armazenado completamente em memória na nuvem, a partir da qual é executado, superando-se a limitação de memória do computador.
  2. Bcada programa possui o seu próprio espaço de endereçamento, que é dividido em blocos chamados de páginas.
  3. Co programa é carregado completamente na memória cache do computador, no qual permanece até a sua execução ser completada.
  4. Do programa fica carregado em um disco com capacidade adequada e nele é diretamente executado.
  5. 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.

Gabarito: letra B

Link permanente: /questoes/vu196640