Hypervisores de computador

3

Eu não tinha certeza se deveria postar isso aqui ou estouro de pilha, mas como minha pergunta é mais sobre hardware, então sobre software, acho que esse é o melhor lugar.

Eu tenho uma pergunta sobre a emulação de sistemas operacionais (um programa como o VMware). Eu entendo que os módulos deste software são executados em prioridade ring0 ao lado dos módulos do seu sistema operacional principal.

Como é possível que o software da máquina virtual possa forçar os módulos do kernel do sistema operacional emulado a operar em um anel de menor prioridade e, em seguida, tocar 0? Quero dizer, o software emulado ainda funciona perfeitamente desde que eu posso fazer todas as coisas que posso fazer com uma máquina normal. Mas eu não acredito que o kernel emulado possua controle sobre os recursos do sistema fora do emulador, ou faz isso?

    
por Unknown 12.07.2011 / 17:06

2 respostas

4

But I don't believe the emulated kernel has control over system resources outside the emulator, or does it???

Realmente não. O kernel opera em um novo "Ring-1" especializado. Acima do kernel está o Hypervisor (o programa realmente responsável por manter o ambiente de virtualização e que vive no sistema host). Aquele é esse que opera no anel-0 na máquina host. Qualquer sistema operacional convidado opera em um novo Ring-1 isolado criado pelo hipervisor.

Veja: Anel, Segurança do Computador (Modo Hipervisor)

    
por 12.07.2011 / 17:30
0

How is it possible that the virtual machine software can force the kernel modules of the emulated operating system to operate in a lower priority ring then ring 0?

A arquitetura dos processadores modernos permite que uma CPU "emule-se". Tanto quanto o sistema operacional convidado sabe, ele está realmente controlando o hardware, mas na realidade o hipervisor está interceptando todas as interrupções, etc. e emulando as respostas.

    
por 12.07.2011 / 19:46