Como o Xen realiza a virtualização de E/S

Concluído

Como exemplo concreto, vamos discutir a abordagem do Projeto Xen para a virtualização de E/S. Como apontamos anteriormente, para contornar o problema de ter drivers de dispositivo para o hipervisor e para os SOs convidados, o Projeto Xen coloca seu hipervisor com um SO tradicional de uso geral. A Figura 4 mostra um SO host e o hipervisor do Projeto Xen em execução com privilégios totais no anel 0. Os SOs convidados são executados sem privilégios no anel 1, enquanto todos os processos em todos os domínios (ou seja, máquinas virtuais) são executados sem privilégios no anel 3. Claramente, a figura pressupõe um sistema com quatro anéis (por exemplo, Intel IA-32). Em sistemas com apenas dois níveis de privilégios, o hipervisor e o SO host podem ser executados no modo do sistema, enquanto os domínios e processos podem ser executados no modo de usuário. Conforme ilustrado na figura, o Projeto Xen elimina os drivers de dispositivo totalmente dos SOs convidados e fornece uma comunicação direta entre os SOs convidados no domínio U e o SO host no domínio 0. Mais precisamente, cada domínio Ui no Xen não manterá nenhum dispositivo de E/S virtual ou drivers relevantes. Em vez disso, cada solicitação de E/S agora é transferida diretamente para o domínio 0, que, por padrão, hospeda todos os drivers de dispositivo necessários para atender a todas as solicitações de E/S. Por exemplo, em vez de usar um driver de dispositivo para controlar uma vNIC (interface de placa de rede virtual), com a rede do Projeto Xen, os quadros/pacotes são transferidos por meio de canais de eventos diretamente para o domínio 0 e partindo dele. Isso é feito usando interfaces de front-end e back-end de NIC no domínio Uj (em que j > 0) e U0, respectivamente. Da mesma forma, nenhum disco virtual é exposto a nenhum SO convidado e todos os blocos de dados de disco impostos por leituras e gravações de arquivo são delegados pelo Projeto Xen para o domínio 0.

Xen Project's approach to I/O virtualization, assuming a system with four rings (e.g., Intel IA-32). Xen Project collocates an OS at a VM called domain 0, with the hypervisor on the physical platform to

Figura 4: abordagem do Projeto Xen à virtualização de E/S, supondo um sistema com quatro anéis (por exemplo, Intel IA-32). O Projeto Xen coloca um SO em uma VM chamada domínio 0, com o hipervisor na plataforma física para "emprestar" seus drivers de dispositivo e evitar codificá-los no hipervisor. Isso torna o hipervisor "mais fino" e, portanto, mais confiável. Além disso, ele facilita o trabalho dos desenvolvedores de hipervisor.

Verificar seu conhecimento

1.

Como o Projeto Xen evita ter drivers de dispositivo para o hipervisor e os sistemas operacionais convidados?

2.

No Xen, cada domínio estaria vago de dispositivos de E/S virtuais e de drivers relevantes, incluindo o domínio 0?