Pular para o conteúdo principal

Questão de Sistemas Operacionais — Gerência de Memória — Avança SP 2024

Sistemas OperacionaisGerência de Memória
Código
qg078060
Banca
Avança SP
Órgão
CISBRA - SP
Ano
2024
Nível
Superior
Cargo
Analista em T.I
Analise as seguintes sentenças que descrevem aspectos da memória virtual:I) Cada referência de memória virtual pode causar dois acessos à memória física.II) Na maioria dos sistemas, existe uma tabela de página por processo, mas cada processo pode ocupar grandes quantidades de memória virtual.III) A memória virtual aumenta a eficiência da multiprogramação bastante eficaz, e alivia o usuário das restrições desnecessariamente apertadas da memória principal.São indicados elementos válidos que constituem a memória virtual em:
  1. AI, II e III.
  2. Bapenas III.
  3. CI e II.
  4. DI e III.
  5. EII e III.
Revelar gabarito e comentário

GabaritoA — I, II e III.

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: conceitos fundamentais

Gabarito: letra A. As três sentenças descrevem corretamente aspectos da memória virtual: (I) a tradução de endereço virtual para físico pode exigir dois acessos à memória física (um para consultar a tabela de páginas e outro para acessar o dado); (II) cada processo possui sua própria tabela de páginas, permitindo que ocupe grandes espaços de endereçamento virtual; (III) a memória virtual aumenta a eficiência da multiprogramação e libera o programador das limitações da memória principal. Esses conceitos são fundamentais da gerência de memória em sistemas operacionais modernos.

A memória virtual é uma técnica que desvincula os endereços de memória vistos por cada aplicação dos endereços físicos da memória RAM. Isso permite que cada processo tenha seu próprio espaço de endereçamento, que pode ser maior que a memória física disponível, e que a memória seja compartilhada com segurança entre vários programas. As três funções básicas da memória virtual são: realocação (cada processo tem seu espaço de endereçamento começando em zero), proteção (impedir que um processo acesse memória de outro) e paginação/troca (permitir que uma aplicação use mais memória do que a fisicamente existente).

A sentença I aborda um detalhe importante da implementação: quando um processo acessa um endereço virtual, o sistema precisa traduzir esse endereço para um endereço físico. Essa tradução é feita consultando a tabela de páginas, que fica na memória. Portanto, para cada referência de memória virtual, o sistema pode precisar de dois acessos à memória física: um para ler a entrada da tabela de páginas e outro para acessar o dado efetivamente. Para otimizar esse processo, existe o TLB (Translation Lookaside Buffer), uma cache de traduções recentes que evita a consulta à tabela de páginas na maioria dos casos.

A sentença II destaca que, na maioria dos sistemas, cada processo tem sua própria tabela de páginas. Isso é essencial para o isolamento entre processos: cada um tem seu espaço de endereçamento virtual independente, e a tabela de páginas mapeia esse espaço para a memória física. Como o espaço de endereçamento virtual é grande (por exemplo, 64 bits em sistemas modernos), cada processo pode ocupar grandes quantidades de memória virtual, mesmo que a memória física seja limitada.

A sentença III resume os benefícios práticos da memória virtual. Ao permitir que cada processo tenha um espaço de endereçamento grande e independente, a memória virtual aumenta a eficiência da multiprogramação: mais processos podem estar em execução simultaneamente, pois não precisam caber inteiros na memória física. Além disso, o programador não precisa se preocupar com o tamanho da memória principal, pois o sistema gerencia automaticamente quais partes do programa estão na memória e quais estão no disco.

A pegadinha desta questão está na sentença I: muitos candidatos podem achar que "dois acessos à memória física" é um erro, pensando que a tradução é feita apenas pelo hardware. No entanto, mesmo com a MMU (Memory Management Unit), a tabela de páginas precisa ser consultada na memória, o que gera o segundo acesso. O TLB existe justamente para minimizar esse custo, mas a afirmação é tecnicamente correta.

Guarde esses três conceitos como o núcleo da memória virtual: tradução de endereços (com possível duplo acesso), tabela de páginas por processo e benefícios para a multiprogramação. É exatamente nesses pontos que as alternativas se dividem.

1Tradução de endereços
Consulta à tabela de páginas
Acesso ao dado
TLB (cache de traduções)
2Tabela de páginas por processo
Isolamento entre processos
Espaço de endereçamento grande
3Benefícios
Multiprogramação eficiente
Libera o programador das restrições da RAM
Memória virtual
LEVELsoulevel.com.br
Memória virtual: Tradução de endereços (Consulta à tabela de páginas, Acesso ao dado, TLB (cache de traduções)); Tabela de páginas por processo (Isolamento entre processos, Espaço de endereçamento grande); Benefícios (Multiprogramação eficiente, Libera o programador das restrições da RAM)

Item I — ✅ Correto

A sentença I está correta. Cada referência de memória virtual pode causar dois acessos à memória física: primeiro para consultar a tabela de páginas (obter o endereço físico correspondente) e depois para acessar o dado. Esse é um custo inerente à tradução de endereços, mitigado pelo TLB.

Item II — ✅ Correto

A sentença II está correta. Na maioria dos sistemas operacionais, cada processo possui sua própria tabela de páginas, o que garante isolamento e permite que cada processo ocupe grandes quantidades de memória virtual, independentemente da memória física disponível.

Item III — ✅ Correto

A sentença III está correta. A memória virtual aumenta a eficiência da multiprogramação, pois permite que mais processos estejam em execução simultaneamente, e alivia o programador das restrições da memória principal, já que o sistema gerencia automaticamente a alocação de páginas.

Conclusão: Todos os itens (I, II e III) estão corretos, portanto a alternativa correta é a letra A.

Gabarito: letra A

Link permanente: /questoes/qg078060