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
vu196573
Banca
VUNESP
Órgão
TJ RS
Ano
2023
Cargo
TTI ( )
Sobre o gerenciamento de memória em sistemas operacionais, assinale a alternativa correta em relação à técnica de uso de memória virtual.
  1. AAs páginas são mapeadas na memória física, onde devem estar todas ao mesmo tempo para que seja possível executar o programa.
  2. BQuando o programa faz referência a uma parte de seu espaço de endereçamento que não está na memória física, o hardware realiza o mapeamento necessário rapidamente.
  3. CEsta técnica consiste em trazer cada processo em sua totalidade para a memória, executá-lo por um tempo e então colocá-lo de volta no disco.
  4. DPermite que os programas possam ser executados mesmo quando estão apenas parcialmente na memória principal.
  5. EDivide o programa em partes chamadas sobreposições no disco, as quais são transferidas para dentro ou para fora da memória pelo gerenciador de sobreposições.
Revelar gabarito e comentário

GabaritoD — Permite que os programas possam ser executados mesmo quando estão apenas parcialmente na memória principal.

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 em Sistemas Operacionais

Gabarito: letra D. A memória virtual é a técnica que permite executar programas que estão apenas parcialmente na memória principal, usando o disco como extensão — é exatamente o que a alternativa D afirma. As demais alternativas descrevem outros mecanismos (como swapping e sobreposição) ou contêm erros conceituais sobre o funcionamento da paginação.

A memória virtual é uma das técnicas mais importantes de gerenciamento de memória em sistemas operacionais modernos. Seu objetivo central é desacoplar o espaço de endereçamento virtual do processo do espaço de endereçamento físico da memória RAM, permitindo que programas maiores que a memória física disponível possam ser executados. Isso é possível porque o sistema operacional, com apoio do hardware (a MMU — Memory Management Unit), traduz endereços virtuais em endereços físicos, carregando apenas as partes do programa que estão sendo efetivamente usadas.

A implementação mais comum da memória virtual é a paginação. Nela, o espaço de endereçamento virtual do processo é dividido em blocos de tamanho fixo chamados páginas, e a memória física é dividida em blocos do mesmo tamanho chamados quadros de página (page frames). Quando o programa referencia uma página que não está na memória física, ocorre um page fault (falha de página): o sistema operacional busca a página no disco, coloca-a em um quadro livre (ou substitui uma página menos usada) e atualiza a tabela de páginas. Esse mecanismo é conhecido como paginação por demanda (demand paging).

É fundamental distinguir a memória virtual de outras técnicas:

Critério

Memória Virtual (Paginação)

Swapping

Overlays (Sobreposição)

Unidade transferida

Páginas (blocos de tamanho fixo)

Processo inteiro

Partes do programa definidas pelo programador

Quando ocorre

Sob demanda, quando uma página é referenciada

Quando há falta de memória para um processo inteiro

Antes da execução, por decisão do programador

Execução parcial

Sim, o programa roda com apenas parte na memória

Não, o processo precisa estar inteiro na memória para executar

Sim, mas com gerenciamento manual

Quem gerencia

Sistema operacional + hardware (MMU)

Sistema operacional

Programador (gerenciador de sobreposições)

A pegadinha clássica da banca é confundir memória virtual com swapping. No swapping, o processo inteiro é copiado para o disco e depois trazido de volta; na memória virtual, apenas as páginas necessárias são carregadas. Outra confusão comum é com overlays, uma técnica antiga em que o próprio programador dividia o programa em partes e controlava manualmente a transferência — algo que a memória virtual automatiza.

Guarde a fronteira entre "executar parcialmente na memória" (memória virtual) e "trazer o processo inteiro para a memória" (swapping): é exatamente nela que as alternativas se dividem.

1Conceito
Execução parcial na memória
Disco como extensão
2Paginação por demanda
Páginas (tamanho fixo)
Page fault → SO busca no disco
3Confusões comuns
Swapping (processo inteiro)
Overlays (programador gerencia)
Memória virtual
LEVELsoulevel.com.br
Memória virtual: Conceito (Execução parcial na memória, Disco como extensão); Paginação por demanda (Páginas (tamanho fixo), Page fault → SO busca no disco); Confusões comuns (Swapping (processo inteiro), Overlays (programador gerencia))

Alternativa A — ❌ Incorreta

Afirma que todas as páginas devem estar na memória física ao mesmo tempo. Isso contraria o princípio fundamental da memória virtual: apenas as páginas em uso precisam estar na memória física; as demais permanecem no disco até serem referenciadas. A alternativa descreve o comportamento de sistemas sem memória virtual, onde o programa inteiro precisa ser carregado.

Alternativa B — ❌ Incorreta

Diz que o hardware realiza o mapeamento rapidamente quando o programa referencia uma parte que não está na memória física. O erro está em atribuir ao hardware uma tarefa que é do sistema operacional. Quando ocorre uma falha de página, o hardware (MMU) apenas detecta que a página não está presente e gera uma interrupção; quem realiza o mapeamento (buscar a página no disco, alocar um quadro e atualizar a tabela) é o sistema operacional, um processo relativamente lento comparado ao acesso à memória.

Alternativa C — ❌ Incorreta

Descreve o swapping, não a memória virtual. No swapping, o processo inteiro é trazido para a memória, executado por um tempo e depois colocado de volta no disco. A memória virtual, por outro lado, permite que o processo execute com apenas parte de suas páginas na memória, sem precisar carregá-lo por completo.

Alternativa D — ✅ Correta ⟵ GABARITO

Esta é a definição precisa de memória virtual: permitir que programas sejam executados mesmo quando estão apenas parcialmente na memória principal. Isso é possível graças à paginação por demanda, onde as páginas são carregadas do disco conforme são referenciadas, e o espaço de endereçamento virtual pode ser maior que a memória física disponível.

Alternativa E — ❌ Incorreta

Descreve a técnica de overlays (sobreposições), uma abordagem anterior à memória virtual. Nela, o programador dividia o programa em partes (overlays) e o gerenciador de sobreposições transferia essas partes entre disco e memória manualmente. A memória virtual automatiza esse processo, dividindo o programa em páginas de tamanho fixo e gerenciando a transferência de forma transparente para o programador.

A regra de ouro para a prova: memória virtual = execução parcial do programa na memória principal, com o restante no disco, gerenciado pelo sistema operacional. Sempre que uma alternativa falar em "trazer o processo inteiro" ou "partes definidas pelo programador", ela está descrevendo swapping ou overlays, não memória virtual.

Gabarito: letra D

Link permanente: /questoes/vu196573