Questão de Sistemas Operacionais — Geral — FUNDATEC 2024
Sistemas Operacionais›Geral
Código
qa633024
Banca
FUNDATEC
Órgão
CRF RS
Ano
2024
Cargo
Prog ( )
Sobre determinada técnica de virtualização, analise as seguintes características:
Pode ser mais eficiente, pois a comunicação direta com o hipervisor por meio de hiperchamadas reduz a sobrecarga de emulação de hardware.
Possui uma API definida, que consiste no conjunto de hiperchamadas que o sistema operacional convidado pode utilizar para interagir com o hipervisor.
Exige um sistema operacional (guest) modificado.
As características acima definem:
AEmuladores.
BParavirtualização.
CMáquinas virtuais.
DHypervisor tipo 3.
EHypervisor tipo 4.
Revelar gabarito e comentário▾
GabaritoB — Paravirtualização.
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”.
Paravirtualização: comunicação direta com o hipervisor
Gabarito: letra B. As três características descritas — comunicação direta com o hipervisor por hiperchamadas, API definida de hiperchamadas e exigência de sistema operacional convidado modificado — definem a paravirtualização, técnica em que o guest é alterado para cooperar com o hipervisor, trocando emulação por chamadas explícitas (hiperchamadas).
A paravirtualização é uma técnica de virtualização em que o sistema operacional convidado é modificado para ter consciência de que está rodando em um ambiente virtualizado. Em vez de tentar executar instruções privilegiadas que seriam emuladas pelo hipervisor (como na virtualização completa), o guest modificado faz chamadas diretas ao hipervisor por meio de hiperchamadas (hypercalls). Essas chamadas formam uma API definida que o sistema operacional convidado utiliza para interagir com o hipervisor, solicitando operações privilegiadas de forma explícita.
O principal benefício é a eficiência: como o guest coopera, o hipervisor não precisa emular o hardware inteiro, reduzindo a sobrecarga. O custo é a necessidade de modificar o sistema operacional convidado, o que nem sempre é possível (ex.: sistemas proprietários fechados). O Xen é um exemplo clássico de hipervisor que usa paravirtualização — o guest Linux é modificado para usar hiperchamadas em vez de instruções privilegiadas.
A distinção central é entre virtualização completa (guest não modificado, hardware emulado) e paravirtualização (guest modificado, comunicação via hiperchamadas). Enquanto a primeira oferece compatibilidade total, a segunda oferece desempenho superior. Os hipervisores modernos (KVM, Xen, Hyper-V) frequentemente combinam ambas: usam extensões de virtualização de hardware (Intel VT-x, AMD-V) para rodar guests não modificados e paravirtualização para drivers de I/O (virtio).
A pegadinha da banca está em confundir paravirtualização com emulação ou com os tipos de hipervisor (tipo 1, 2, 3, 4). A paravirtualização é uma técnica de virtualização, não um tipo de hipervisor — embora hipervisores como o Xen a utilizem. A característica decisiva é a modificação do guest e a API de hiperchamadas.
Paravirtualização: Guest modificado (Consciente da virtualização, Coopera com o hipervisor); Comunicação via hiperchamadas (API definida, Chamadas diretas ao hipervisor); Vantagem (Mais eficiente (menos emulação)); Desvantagem (Exige SO modificado); Exemplo (Xen (guest Linux modificado))
Alternativa A — ❌ Incorreta
Emuladores (como o QEMU em modo de emulação total) não exigem modificação do guest — eles emulam o hardware completamente, permitindo executar sistemas operacionais não modificados, porém com grande sobrecarga de desempenho. A paravirtualização, ao contrário, exige guest modificado e é mais eficiente.
Alternativa B — ✅ Correta ⟵ GABARITO
A paravirtualização é exatamente a técnica descrita: o guest é modificado para usar uma API de hiperchamadas que permite comunicação direta com o hipervisor, reduzindo a sobrecarga de emulação. As três características do enunciado são a definição clássica dessa técnica.
Alternativa C — ❌ Incorreta
Máquinas virtuais são o resultado da virtualização (o ambiente onde o guest executa), não a técnica em si. A descrição fala de uma técnica específica de virtualização, não do produto final. Toda paravirtualização cria máquinas virtuais, mas nem toda máquina virtual usa paravirtualização.
Alternativa D — ❌ Incorreta
"Hypervisor tipo 3" não é uma classificação padrão. A classificação usual divide hipervisores em tipo 1 (nativo, roda direto no hardware — ex.: VMware ESXi, Xen) e tipo 2 (convidado, roda sobre um SO hospedeiro — ex.: VirtualBox, VMware Workstation). A paravirtualização é uma técnica que pode ser usada por ambos os tipos, não um tipo de hipervisor.
Alternativa E — ❌ Incorreta
Assim como o tipo 3, "hypervisor tipo 4" não existe na classificação clássica de hipervisores. A banca criou distratores com numeração inexistente para testar se o candidato conhece a classificação real (tipo 1 e tipo 2) e não confunde a técnica de paravirtualização com o tipo de hipervisor.
NÃO CAIA NESSA!
A banca mistura técnica de virtualização (paravirtualização) com tipo de hipervisor (tipo 1, 2, 3, 4). A paravirtualização é uma técnica que pode ser implementada por qualquer tipo de hipervisor — o que a define é a modificação do guest e o uso de hiperchamadas, não a arquitetura do hipervisor. Fique atento: se o enunciado falar em "guest modificado" e "hiperchamadas", é paravirtualização.
PEGA ESSA DICA!
Para diferenciar na prova, use o critério do guest: virtualização completa = guest não modificado (hardware emulado); paravirtualização = guest modificado (API de hiperchamadas). Emuladores = guest não modificado + emulação total de hardware (lento). Hipervisor tipo 1 = roda direto no hardware; tipo 2 = roda sobre um SO hospedeiro.